In de website die ik aan het maken ben, maak ik gebruik van opsommigen. Bovendien maak ik gebruik van div's met een mooie achtergrondkleur om bepaalde stukken tekst te accentueren. Zo denk ik aan bvb quotes e.d.
Nu, wanneer ik een lijst gewoon zet heeft deze laten we zeggen een marge X van de rand. De text in de div heef teen padding van 10 om de text niet tegen de rand te laten plakken.
Wanneer ik echter een lijst in zo een div steek, staat de opsomminge op X + 10px van de rand. Een mogelijke oplossing is gebruik maken van de volgende css:
Het effect wat ik krijg in Firefox is perfect, de lijst gewoon is op X van de rand uigelijnd, en ook de lijst in die div staat op X van de rand. In IE gaat het echter mis, daar is de lijst welke in een div zit, helemaal tegen de linkerkant geplakt, wat dus niet de bedoeling is.
Daarom dacht ik om te proberen de div aan te passen wanneer die een lijst in zich heeft. De padding-left op 0px te zetten en de rest op 10px te houden, zodat de lijst wel goed uitgelijnt zou zijn, maar hoe doe je dat in css?
Een overzicht van gebruikte css die relevant is voor dit deel van het probleem (nog steeds de oplossing die problemen geeft met IE maar in FF perfect werkt):
Niet op de php in de css letten, de css wordt met php geparsed zodat ik on the fly kleuren kan veranderen
Ik post even een screenshot van IE om het te verduidelijken:

*klik voor groot*
(1) is de ul die nu links uitgelijnt staat, maar die in feite ter hoogte van lijn (2) zou moeten zijn uitgelijnt.
(3) is gewoon een figuurtje met een text naast en geen opsommingsteken (om verwarring in dit topic te voorkomen) welke ik in feite gewon gebruik om een soort van uniformiteit aan de site tegeven.
Potjandorie
Ik ben in mijn sukkelbui blijkbaar, kan een modje de titel anders even veranderen in:
[css + ul] rare uitlijning van ul in IE
Nu, wanneer ik een lijst gewoon zet heeft deze laten we zeggen een marge X van de rand. De text in de div heef teen padding van 10 om de text niet tegen de rand te laten plakken.
Wanneer ik echter een lijst in zo een div steek, staat de opsomminge op X + 10px van de rand. Een mogelijke oplossing is gebruik maken van de volgende css:
Cascading Stylesheet:
1
2
3
| div.accent ul { margin-left: -10px; } |
Het effect wat ik krijg in Firefox is perfect, de lijst gewoon is op X van de rand uigelijnd, en ook de lijst in die div staat op X van de rand. In IE gaat het echter mis, daar is de lijst welke in een div zit, helemaal tegen de linkerkant geplakt, wat dus niet de bedoeling is.
Daarom dacht ik om te proberen de div aan te passen wanneer die een lijst in zich heeft. De padding-left op 0px te zetten en de rest op 10px te houden, zodat de lijst wel goed uitgelijnt zou zijn, maar hoe doe je dat in css?
Een overzicht van gebruikte css die relevant is voor dit deel van het probleem (nog steeds de oplossing die problemen geeft met IE maar in FF perfect werkt):
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| ul { list-style: none; } div.accent ul { margin-left: -10px; } li { background: url("images/dot.png") no-repeat 0px 6px; padding-left: 7px; } div.accent { background-color: <? echo $bgcolormed.";\n"; ?> padding: 10px; border-bottom: 1px solid <? echo $border.";\n"; ?> border-top: 1px solid <? echo $border.";\n"; ?> } |
Niet op de php in de css letten, de css wordt met php geparsed zodat ik on the fly kleuren kan veranderen
Ik post even een screenshot van IE om het te verduidelijken:

*klik voor groot*
(1) is de ul die nu links uitgelijnt staat, maar die in feite ter hoogte van lijn (2) zou moeten zijn uitgelijnt.
(3) is gewoon een figuurtje met een text naast en geen opsommingsteken (om verwarring in dit topic te voorkomen) welke ik in feite gewon gebruik om een soort van uniformiteit aan de site tegeven.
Potjandorie
[css + ul] rare uitlijning van ul in IE
offtopic:
[code=css] staat nog niet bij de mogelijkheden van de [code]-tag
[code=css] staat nog niet bij de mogelijkheden van de [code]-tag
[ Voor 37% gewijzigd door Ibex op 04-06-2004 16:46 ]
Archlinux - Rode gronddingetjes zijn lekker - Komt uit .be