2015-04-27 13 views
6

Zawsze się zastanawiałam, ale nie mogę znaleźć nigdzie odpowiedzi, jeśli istnieją jakieś standardy dotyczące wcięcia ciała lub etykiety głowy.Czy zmienne <head> i <body> powinny mieć inny poziom wcięcia niż <html>?

Czy ta wersja jest poprawna?

<html> 
<head> 
</head> 
<body> 
</body> 
</html> 

Albo ten jeden?

<html> 
    <head> 
    </head> 
    <body> 
    </body> 
</html> 

Choć doceniam to, że prawdopodobnie nie sprawia najmniejszego trochę różnicy, jeśli chodzi o funkcjonalność końcowej stronie idzie, wszyscy jesteśmy ludźmi i wszyscy błogosławieni z prezentami/ciężaru, który jest ciekawość.

Czy istnieją jakieś ustalone standardy, czy nie ma to znaczenia?

+0

* „czy to nie ma znaczenia?” *: To nie ma znaczenia. –

Odpowiedz

7

HTML nie dba o wcięcia, wymaga jedynie odpowiedniego zagnieżdżenia. Jest on przetwarzany tak samo (z wyjątkiem oczywiście białych znaków), tak naprawdę nie ma znaczenia dla poprawności.

Chociaż właściwe wcięcie ma znaczenie dla czytelności, wiele osób decyduje się nie wciąć <html>, <head> i <body> tagów jak ich struktura jest trywialna, a tylko przenosi cały dokument w prawo niepotrzebnie. Zawartość tych znaczników powinna zawsze być wcięta dla czystego znacznika, aby struktura gniazdowania była czytelna dla czytelnika.

Aby odpowiedzieć na to pytanie jednoznacznie:

Jeżeli <head> i <body> tagów być na innym poziomie wcięcia do <html>?

Nie ma takiej potrzeby, ponieważ wszyscy wiedzą, że są zagnieżdżeni w <html>. Możesz to zrobić, jeśli chcesz. Zarówno

<html> 
    <head> 
     <title>…</title> 
     … 
    <head> 
    <body> 
     <div> 
      <div>…</div> 
      … 
     </div> 
     … 
    </body> 
<html> 

i

<html> 
<head> 
    <title>…</title> 
    … 
<head> 
<body> 
    <div> 
     <div>…</div> 
     … 
    </div> 
    … 
</body> 
<html> 

są w porządku, a po nie jest:

<html> 
<head> 
<title>…</title> 
… 
<head> 
<body> 
<div> 
<div>…</div> <!-- which nesting level ??? --> 
… 
</div> 
… 
</body> 
<html> 
+0

Podczas gdy język nie jest wrażliwy na wcięcia, taki jak python, wcięcie z pewnością poprawia czytelność, a ja po prostu zastanawiałem się, czy istnieje ustawiony standard. "Chociaż doceniam to, że prawdopodobnie nie robi najmniejszej różnicy, jeśli chodzi o funkcjonalność końcowej strony internetowej" –

+1

Nie jestem świadomy żadnych standardów kodowania znaczników html. – Bergi

+0

Dzięki za poinformowanie mnie, jak mamo HTML. –

2

To nie ma znaczenia w funkcjonalności, ale dla celów czysty, czytelny i managable kod zawsze należy wcięcie dzieci.

0

Chciałbym zaproponować inny styl. Jednobiegowa struktura ogólna, która zawiera dzieci wieloliniowe. Coś jak ten (barebone):

<html><head></head><body></body></html> 

Włóż trochę HTML:

<html><head> 
    <style> 
    </style> 
</head><body> 
    <div> 
    </div> 
</body></html> 

W tym przypadku możemy pozbyć poziomie wcięcia w sposób naturalny (bo podwójne wcięcie nie miałoby sensu).Jest to element, który powoduje wcięcie jego zawartości.

Inspiracja pochodzi od typowych wzorców w programowaniu, może przykład pomoże:

// Multiline function call (each argument on a line). 
someFunction(
    'parameter 1', 
    'parameter 2', 
    ['item', 'more items', 'another item'] 
); 

// Single line function call. Arguments may be multi-line, but 
// the function call itself is styled as if it were single-line. 
someFunction('parameter 1', 'parameter 2', [ 
    'item', 
    'more items', 
    'another item', 
]); 
+3

Wow, który byłby bałaganem ... Przeklinałbym rodzinę koderów do szóstej generacji, jeśli otrzymam kod HTML sformatowany w ten sposób. (tylko osobistą opinię) – Kalko

+0

@Kalko, naprawdę? Otrzymasz plik HTML (zwykle kilkaset wierszy, jeśli nie więcej) i znajdziesz 3 krótkie linie ('', '' i ' '), aby spowodować "bałagan" "? Przynajmniej jest lepsze niż [to (źródło widoku)] (http://www.marketinger.sk/) – aross

+0

Nigdy nie powiedziałem, że kod strony mojej firmy to nie bałagan, jak widać, mam pewne doświadczenie w pracy z źle sformatowany HTML;) Jak już powiedziałem, to tylko moja opinia, jeśli to zależało ode mnie, każdy element powinien zaczynać się/kończyć na nowej linii, poprawnie wcięty. Nawet tag HTML. Jeśli dostanę plik z tymi tagami sformatowanymi w twój sposób, mogę się założyć, że reszta * będzie * bałaganem na pewno. W każdym razie, masz mnie, miło;) – Kalko