Czy poprawny HTML zmienia kolor tekstu wewnątrz elementu H1, H2, H3 lub H4? Czy są na poziomie bloku?Czy są to blok H1, H2, H3, H4 lub elementy śródliniowe?
Przykładowo
<h1><span style="color:#ABAB">#500</span> Hello world</h1>
Czy poprawny HTML zmienia kolor tekstu wewnątrz elementu H1, H2, H3 lub H4? Czy są na poziomie bloku?Czy są to blok H1, H2, H3, H4 lub elementy śródliniowe?
Przykładowo
<h1><span style="color:#ABAB">#500</span> Hello world</h1>
są elementy blokowe.
Jeśli spojrzeć na HTML 4.01 strict DTD:
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
So, wszystkie są zdefiniowane jako %heading
podmiotów, które z kolei są częścią %block
podmiotów.
chodzi o pytanie dotyczące czy można zmienić kolor - to po prostu styl i jest w porządku, chociaż chciałbym zrobić w pliku CSS, nie inline:
H1, H2, H3, H4, H5, H6
{
color: #ccccc;
}
tak nagłówki są na poziomie bloku.
na innej notatki, #ABAB
nie jest ważny kolor :)
Najlepszym pracktace najpierw utworzyć styl CSS w arkuszu stylów.
h1 {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 18px;
font-weight: bold;
color: #000000;
}
Tak To jest poprawny sposób, jeśli chcesz używać wbudowanego css. W inny sposób klasą powiedzieć
<h1 class="title"><span>#500</span> Hello world</h1>
Teraz Css jest:
h1.title span{
color:#ABABAB;
}
Znowu tak h1 do h6 jest poziom blok.
Kolor zmienia kolor czcionki, a nie kolor tła, więc pod względem technicznym jest równie poprawny. Jednak robienie tego w ten sposób oznacza, że dla każdego nagłówka, który chcesz z tym stylem, musisz określić znacznik span wewnątrz, tak jak zrobiłeś.
lepszym rozwiązaniem, jeśli chcesz, aby zawsze mieć go w efekcie na znaczniki H1 może być włączenie stylów z następującego kodu:
h1 {
color: #ABABAB
}
Tak, span
wewnątrz znacznika h1 jest dozwolony. Jak widać na W3C Reference page for the h1 tag:
Dozwolone treści: treści frazowanie
i treść frazowanie jest normalny tekst, jak również swoją elementem span
(i kilka innych elementów, jak można zobaczyć na tej reference page for phrasing content.
Oh yeah, i znaczniki pozycją są elementy blokowe.
Najprostszym sposobem, aby dowiedzieć się, czy element jest na poziomie bloku lub inline elemen t ma obramować wokół niego.
HTML
<h1> Heading 1 </h1>
<span> Span </span>
CSS
h1 {
border: 2px solid green;
}
span {
border: 2px solid blue;
}
Więcej przykładów na jsFiddle.
oh wowww tak mądry –
Podobał mi się sposób, w jaki dodałeś DTD html, aby wyjaśnić odpowiedź. GPR –
Po prostu starałem się, aby przykład był prosty, więc użyłem wbudowanego CSS. Najpierw spróbowałem google, ale nie mogłem znaleźć odpowiedzi na pytanie: http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.5 –
@Chris S - bez problemu . Mogę tylko kontynuować to, co jest w pytaniu;) – Oded