Avatar billede -kris- Praktikant
01. august 2003 - 13:19 Der er 15 kommentarer og
1 løsning

vertical alignment - skal det defineres i style sheet?

Hej,

Jeg har denne kode på min side
<TD vAlign=center width="95%" height=40><h1>Generelt</h1></TD>

H1 er defineret således i mit style sheet:
H1  {
    FONT-SIZE: 10pt; FONT-WEIGHT: bold; COLOR: #72819c;
}

Men overskriften står IKKE midt i cellen (vertikalt) når jeg serpå siden, den står øverst - hvorfor?
Er det noget jeg skal skrive til definitionen i h1 i style sheetet? og hvad skal der så stå?
Avatar billede exp Juniormester
01. august 2003 - 13:29 #1
Som udgangspunkt bør du lægge så meget som muligt i stylesheetet!

h1 {
    font-size: 10pt;
    font-weight: bold;
    color: #72819c;
}
.valign {
    vertical-align: center;
    width: 95%;
    height: 40px;
}

<td class="valign"><h1>Generelt</h1></td>

istedet for

<TD vAlign=center width="95%" height=40><h1>Generelt</h1></TD>
Avatar billede exp Juniormester
01. august 2003 - 13:30 #2
Og så er det ALTID en god idé at bruge " (gåseøjne) om værdier... fx class="valign"
Avatar billede -kris- Praktikant
01. august 2003 - 13:36 #3
Det løser ikke problemet, overskriften står stadig øverst i cellen - ikke midt i.
Avatar billede exp Juniormester
01. august 2003 - 13:42 #4
hehe... Jeg er vist lidt træt - fik ikke lige fanget at det hedder middle istedet for center...:

.valign {
    vertical-align: middle;
    width: 95%;
    height: 40px;
}
Avatar billede -kris- Praktikant
01. august 2003 - 13:48 #5
Men det virker stadig ikke!! Det er ligesom om h1-tagsne "overhøre" specifikationerne i td-tagsne - for fjerner jeg h1 tagsne virker det fint - Men det duer jo bare ikke.
Avatar billede exp Juniormester
01. august 2003 - 13:50 #6
<td><h1 class="valign">Generelt</h1></td> <== prøv det istedet...
Avatar billede -kris- Praktikant
01. august 2003 - 13:53 #7
det prøver jeg og vender tilbage til dig - jeg har bare ikke mere tid nu, er nødt til at forlade PC'en og vove mig ud i verden *GG*

Kris
Avatar billede exp Juniormester
01. august 2003 - 13:56 #8
add...
Avatar billede roenving Novice
01. august 2003 - 23:24 #9
Tyggede lige lidt på den og den konklusion jeg kom frem til er, at da h1 er et block-level-element vil den ikke finde sig i at blive placeret af omkringstående definitioner ...

-- det fik jeg bekræftet ved at sætte en span omkring, f.eks.:

<html>
<head>
<title>titel</title>
<style type="text/css">
.valign{
    vertical-align:middle;
    width:95%;
    height:100px;
}
span,h1 {
    font-size: 10px;
    font-weight: bold;
    color: #72819c;
}
</style>
</head>
<body>
<table border="1"><tr>
<td class="valign"><span><h1>Generelt</h1></span></td>
</tr>
</table>
</body>
</html>

-- og forøvrigt var det der virkede først en span alene ...
Avatar billede -kris- Praktikant
04. august 2003 - 15:44 #10
exp>> dit sidste forslag kan heller ikke løse problemet.

roenving>> Jeg er ikke inde i det med block-level osv. Og jeg er usikker på om din kode er ment som en løsning på problemet eller et bevis på at det ikke kan lade sig gøre? ,Jeg kan ihvertfald ikke få det til at lykkes.
Vil det sige at jeg ikke på nogen måde kan lave en h1 og få den til at stå der hvor jeg vil i tabellen? Men simpelthen må formatere teksten mht. størrelse og farve hver gang, hvis jeg også vil bestemme, hvor den skal stå?
Avatar billede roenving Novice
04. august 2003 - 15:59 #11
-- den lille stump centrerer da ...
Avatar billede roenving Novice
04. august 2003 - 16:29 #12
-- og overflødiggør H1, som også ser ud til at blive deprecated, da span præcis skal bruges til den slags formattering sammen med css, f.eks.

<td class="valign"><span class="h1">Generelt</span></td>
Avatar billede skovenborg Nybegynder
04. august 2003 - 19:32 #13
Det roenving mener med block-level har noget at gøre med hvordan de forskellige objekter bliver opfattet. Fx kan du lave H1-objektet om til et objekt på lige fod med fx almindelig tekst ved brug af display:
H1  {
    FONT-SIZE: 10pt; FONT-WEIGHT: bold; COLOR: #72819c;display:inline;
}
<TD width="95%" height=40 style="vertical-align:middle"><h1>Generelt</h1></TD>

Som standard er H1 altså et block-element, hvilket vil skrives i CSS som display:block.
Avatar billede roenving Novice
05. august 2003 - 00:28 #14
Prøv at sammenligne det med:

Lav en lille word-test:

Nyt word-dokument:

Skriv tre ord -- vælg indsæt tabel _uden_ at skifte linje

-- det viser tydeligt, at en tabel er et block-level-element

-- det bekræftes, hvis du prøver at skriver 7-10 ord og markerer nogle få af dem og gør det samme ...

-- det _skal_ have sin egen lodrette plads i dokumentet

-- prøv i det sidste tilfælde (hvor du har valgt nogle ord !-)

-- gå tilbage til det med fortryd !o]

-- at sætte tekst-størrelsen helt vildt op, fed og anden farve -- ordene omkring befinder sig stadig på samme linje -- ligesom en span et inline-element !-)
Avatar billede -kris- Praktikant
07. august 2003 - 10:49 #15
Hej igen,

Ja i tror nok det er løgn - men nu er det rent faktisk lykkes for mig!! TA-DA

Skovenborg> smid et svar - det var din, display: inline - der fik det til at løse dig - Tak for det.

Hilsner
Kristina
Avatar billede skovenborg Nybegynder
07. august 2003 - 13:21 #16
så gerne :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester