Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Problem ze zrozumieniem stylów CSS
Forum PHP.pl > Forum > Przedszkole
Witek76
Witam !

Mam problem ze zrozumieniem jak działa CSS. Mianowicie po wpisanych zmianach (wytłuszczone i podkreślone style CSS) w książce (przykład z książki) jest napisane :

Dodaliśmy deklaracje zerującą wartość marginesów dla elementów <dd> oznaczonych przy użyciu atrybutu class="img". Deklaracja ta zakryje regułę znajdującą się w sekcji "zmiana kierunku", tworzącą w elementach <dd> prawy margines. Dzieki temu po deklaracji prawego marginesu dla obiektów #sweden .alt dd nie musimy już w kodzie umieszczać dodatkowej deklaracji zerującej margines dla obiektów zawierających pływające obrazki.

Mógłby mi ktoś wytłumaczyć jak ta
#sweden dl dd.img {
margin: 0;
}
deklaracja zakrywa regułę znajdującą się w sekcji "zmiana kierunku" (czy to jest związane z dziedziczeniem?) jak mam to (Dzieki temu po deklaracji prawego marginesu dla obiektów #sweden .alt dd nie musimy już w kodzie umieszczać dodatkowej deklaracji zerującej margines dla obiektów zawierających pływające obrazki) rozumieć?

Z góry dzięki za pomoc.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
<html lang="pl">
<head>
<title> Strona z książki 4 </title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

<style type="text/css">
body {
font-family: Arial, sans-serif;
font-size: small; }
#sweden {
float: left;
width: 300px;
padding: 10px 0;
border: 2px solid #C8CDD2;
}
#sweden dl {
float: left;
width: 260px;
margin: 10px 20px;
padding: 0;
display: inline; /* naprawia błąd podwojonych marginesów w IE/Win */
}
#sweden dt {
float: right;
width: 162px;
margin: 0;
padding: 0;
font-size: 130%;
letter-spacing: 1px;
color: #627081;
}
#sweden dd {
margin: 0 0 0 98px;
padding: 0;
font-size: 85%;
line-height: 1.5em;
color: #666;
}
#sweden dl dd.img {
margin: 0;
}

#sweden dd.img img{
float: left;
margin: 0 8px 0 0;
padding: 4px;
border: 1px solid #D9E0E6;
border-bottom-color: #C8CDD2;
border-right-color: #C8CDD2;
background: #fff;
}
/* zmiana kierunku */
#sweden .alt dt {
float: left;
}
#sweden .alt dd {
margin: 0 98px 0 0;
}

#sweden .alt dd.img img{
float: right;
margin: 0 0 0 8px;
}

</style>

</head>

<body>

<div id="sweden">
<dl>
<dt>Sztokholm</dt>
<dd class="img"><img src="img/gamlastan.jpg" width="80" height="80" alt="galma Stan" /></dd>
<dd>Zdjęcie to zostało.</dd>
</dl>
<dl class="alt">
<dt>Galma Uppsala</dt>
<dd class="img"><img src="img/uppsala.jpg" width="80" height="80" alt="Galma Uppsala" /></dd>
<dd>W Galma Uppsala pod kurhanami pochowani są pierwsi trzej królowie szwedzcy.</dd>
</dl>
<dl>
<dt>Wieczne słońce</dt>
<dd class="img"><img src="img/watch.jpg" width="80" height="80" alt="Wristwatch" /></dd>
<dd>W trakcie letnich miesięcy słońce zachodzi bardzo późno - jest to wspaniała rzecz!</dd>
</dl>

</body>
</html>
Cross77
Proszę użyć tagów [ html ] <!-- skrypt --> [ /html ].
!*!
Chodzi o dziedziczenie i hierarchię. Choć opis w tej książce jest co najmniej niepokojący.
Witek76
Mam teraz mały problem - mógłby ktoś mi pomóc rozrysować hierarchie tych elementów

Z góry dzięki za pomoc.
nospor
Deklaracja, która bardziej precyzuje element, jest brana w pierwszej kolejnosci.

Ta deklaracja
#sweden dl dd.img
bardziej precyzuje element niż ta
#sweden dd
lobopol
Dochodzą do tego również wagi danych selektorów http://www.stuffandnonsense.co.uk/archives...icity_wars.html
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.