Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS]Czemu w <li> robi się margines, jak zaradzić?
mex
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2008

Ostrzeżenie: (0%)
-----


Cześć. Mam taki kod:

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
ol             {background: #aaa; list-style-type: none; text-align: center; padding: 0; }
ol li          {background: #777; display: inline; padding: .5em; }
</style>
</head>
<body>
<ol>
     <li>Jeden</li>
     <li>Dwa</li>
     <li>Trzy</li>
     <li>Cztery</li>
     <li>Pięć</li>
     <li>Sześć</li>
</ol>
</body>
</html>


Pytanie:
  1. Czemu klocki <li> tworzą wkoło siebie margines 2px. Aby ułożyć elementy obok siebie bez przerw musimy zastosować margin: -2px. W czym tkwi haczyk, może ja coś nie tak czynię.
  2. Jak nadać liście <ol> tło aby wysokością dopasowywało się do wysokości <li> zawierającego padding?
  3. Czy jeśli ustawię <li> wg. float right/left to czy mogę elementy wyśrodkować, a jeśli tak to jak?
P.S. Sprawa się odnosi do FF i Opery, w IE jest jak zwykle inna bajka.

Ten post edytował mex 26.10.2008, 12:46:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witaj!

Sformatuj proszę swój kod. Na chwilę obecną jest strasznie nieczytelny. Chcesz pomocy - szanuj czas innych!

Pozdrawiam!

edit:
Byłeś szybszy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Zamiast display: inline spróbuj float: left; Żeby wyśrodkować powinno wystarczyć margin: auto; dla ol
Go to the top of the page
+Quote Post
mex
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2008

Ostrzeżenie: (0%)
-----


Problem w tym, że nie wystarczy. Nawet jak dam dla <ol> width: 100%.
Go to the top of the page
+Quote Post
marcok
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 8
Dołączył: 15.10.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ad 1. Usuń spacje między bloków <li>

  1.        <li>Jeden</li>
  2.  
  3. {tu są spacje}<li>Dwa</li>
Go to the top of the page
+Quote Post
mex
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2008

Ostrzeżenie: (0%)
-----


Działa. Powiedz mi, czemu tak się dzieje? Może to wina edytora. Korzystam z notepada2. Wg. tego co piszesz to kod powinien wyglądać tak:

Kod
<ol>
<li>Jeden</li><li>Dwa</li><li>Trzy</li><li>Cztery</li><li>Pięć</li><li>Sześć</li>
</ol>


Troche to dla mnie bez sensu. Czym to jest spowodowane?

Ten post edytował mex 26.10.2008, 12:59:05
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


A konkretnie, spacje i znaki nowej linii. Elementy wyświetlane inline tak mają. Innym rozwiązaniem jest ustawienie dla li float: left i display:block, ale w tym wypadku zepsuje to efekt, który chcesz osiągnąć.

Ten post edytował l0ud 26.10.2008, 12:59:48
Go to the top of the page
+Quote Post
mex
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.09.2008

Ostrzeżenie: (0%)
-----


Oto drugi problem. 

Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
html body      {margin: 0; padding: 0;}
ol             {background: #aaa; list-style-type: none; text-align: center; margin: 0; padding: 0; }
ol li          {background: #777; display: inline; padding: .5em; }
</style>
</head>
<body>
<ol>
<li>Jeden</li><li>Dwa</li><li>Trzy</li><li>Cztery</li><li>Pięć</li><li>Sześć</li></ol>
</body>
</html>


Jak należy zrobić by <li> mimo zwiększenia/zmniejszenia padding były na równo z górną listwą przeglądarki. Chciałbym by górna krawędź <li> pokrywała się np. z górną krawędzią <ol> przy okazji by <ol> dopasowywało swą wysokość do wysokości <li>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 10:37