Lenne egy div-en belüli táblázat, amit jobb közép, vagy bal oldalra szeretnék helyezni, attól függően, hogy mit tartalmaz. Gondoltam különböző class-okkal csinálom meg, ez szépen működik is IE alatt, de az opera nem csinálja meg.
Milyen style paraméterrel határozzam meg a táblázat helyét?
Vagy hogy oldjam meg másként?
Egy olyan gondom is lenne, hogy nem jövök rá, hogy tudok valamit középre rakni vízszintesen de a sorokat balra zárva?
- 1146 megtekintés
Hozzászólások
Hello,
nem akarok semmilyen flame-et kirobbantani, de ne az IE-t vedd alapul. Az, hogy az IE megjelenít valamit, semmit nem jelent.
Hogy csinálod? (kód)
Én vhogy így csinálnám:
div {
text-align: center;
}
table {
text-align: left;
margin-left: auto;
margin-right: auto;
}
Ezzel azt éred el, hogy a div elemen belül az IE középre igazítja a tartalmat (hibásan), a többi "normális" böngésző csak a szöveget igazítaná. A table szelektorban lévő margin-left/margin-right-ot az IE nem érti, a normális böngészők viszont beállítják középre a _tartalmat_, nem a szöveget.
Mivel a szülő elemben (div) a text-align kapott egy explicit értéket, ez öröklődik, ezért kell a table-ben ezt felülbírálni.
Egy olyan gondom is lenne, hogy nem jövök rá, hogy tudok valamit középre rakni vízszintesen de a sorokat balra zárva?
Két egymásba ágyazott blokk elemmel, a fenti módhoz hasonlóan.
- A hozzászóláshoz be kell jelentkezni
nagyon köszi, már megy is.
<div style="text-align: center;"> <form ...> ... </form></div>
esetén ugyan ezt hogy tudnám elkövetni?
- A hozzászóláshoz be kell jelentkezni
...
a formot beágyazod még egy blokk elembe, aminek adsz egy
display: block;
-ot is.
- A hozzászóláshoz be kell jelentkezni
<div style="text-align:center;">Ez IE miatt
<div style="text-align:left; margin-left: auto; margin-right: auto; ">Ez teszi középre balra rendezve
<div style="display: block;">Ez fűzi egybe
<form action="index.php" method="post" name="prof">
<INPUT type="radio" name="css_profile" value="1" checked >index<br>
<INPUT type="radio" name="css_profile" value="2">blue<br>
<INPUT type="radio" name="css_profile" value="3">fire<br>
<INPUT type="radio" name="css_profile" value="4">pure<br>
<INPUT type="submit" name="do" value="Beállít">
</form>
</div>
</div>
</div>
De nekem ez így nem megy középre
- A hozzászóláshoz be kell jelentkezni
Most nincs a közelben IE, nem tudom ott kipróbálni.
Amúgy én arra gondoltam, hogy két egymásba ágyazott div lesz:
<div style="text-align:center;">Ez IE miatt
<div style="text-align:left; margin-left: auto; margin-right: auto; display: block;">
<form>
...
</form>
</div>
</div>
a.
- A hozzászóláshoz be kell jelentkezni
IMHO egy block szintű elemnek teljesen felesleges a display:block; :]
--
HUP Firefox extension
- A hozzászóláshoz be kell jelentkezni
Ez inkább csak gyakorlati tapasztalat: ha nem adsz neki 'display: block;'-ot, akkor nem "fogja körbe" a beágyazott elemet, nem éred el a kívánt hatást.
Persze lehet, hogy tévedek, akkor bocs :)
a.
- A hozzászóláshoz be kell jelentkezni
tevedsz.
Tyrael
- A hozzászóláshoz be kell jelentkezni
mea culpa :)
- A hozzászóláshoz be kell jelentkezni
<div style="text-align:center;">Ez IE miatt
<div style="text-align:left; margin-left: auto; margin-right: auto; width: 150px;">
<form>
...
</form>
</div>
</div>
ez talán jó lesz :)
- A hozzászóláshoz be kell jelentkezni