Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: Naka в Nov 09, 2009, 13:53



Титла: Еmbedded / вградени стилове които НЕ се намират в <HEAD></HEAD>
Публикувано от: Naka в Nov 09, 2009, 13:53
Стандрата казва че стиловете трябва да се дефинират в <HEAD></HEAD>
Код
GeSHi (HTML):
  1. <TITLE>home page</TITLE>
  2.  
  3. <STYLE type="text/css">
  4. .......
  5. .......
  6.  
  7. </HEAD>
  8.  
  9.  
  10. .....
  11. </BODY>
  12. </HTML>

Но забелязвам, че <STYLE type="text/css"></STYLE> може да се намира навсякъде в документа и FF го обработва правилно, стига дефинициата на стила  да е преди използването му.

Така и го правя, но се чудя доколко това е коректно? И какви проблеми могaт евентуално да възникнат?

Струва ми се че и е много гъвкаво по-този начин. Например някъде имаш блок с html код, и този блок е отделен и си върви със собствен стил, защо да не изобрази стила точно преди да се използва този блок.


Например така:
Код
GeSHi (HTML):
  1. <TITLE>home page</TITLE>
  2. </HEAD>
  3.  
  4. <STYLE type="text/css">
  5. ...стилове 1
  6. ...блок1..
  7.  
  8. <STYLE type="text/css">
  9. ...стилове 2
  10. ...блок2..
  11.  
  12. </BODY>
  13. </HTML>


Титла: Re: Еmbedded / вградени стилове които НЕ се намират в <HEAD></HEAD>
Публикувано от: VladSun в Nov 10, 2009, 10:35
Според HTML стандартът STYLЕ можеш да имаш само в HEAD секцията. Това означава, че твоят похват може да има проблеми при използването му в някои браузери.
Второ, смесването на съдържание и презентация не е добър подход. Би трябвало да се стремиш да имаш само външни CSS файлове и без никакво използване на STYLE тагове или in-line style атрубути.


Титла: Re: Еmbedded / вградени стилове които НЕ се намират в <HEAD></HEAD>
Публикувано от: Naka в Nov 10, 2009, 13:01
Второ, смесването на съдържание и презентация не е добър подход. Би трябвало да се стремиш да имаш само външни CSS файлове и без никакво използване на STYLE тагове или in-line style атрубути.

Разбира се че е така. Мога да имам и външни и стилове с <STYLE>  тагове. Причината поради която екпериментирам със <STYLE> тагове е че страницата е предназначена да се включва от отдалечено include и искам да си идва изцяло пакетирана и да не зависи почти от нищо.

За въпроса за коректността с FF няма проблеми,... но трябва да порбвам и с други браузери.


Титла: Re: Еmbedded / вградени стилове които НЕ се намират в <HEAD></HEAD>
Публикувано от: shoshon в Nov 10, 2009, 13:30
HTML 5 Style Tag ($2)
Хвърли едно око. По-скоро на scoped модификатора. Така ще избегнеш "стилизирането" не обект който не искаш, ще редуцураш размера на кода (няма да слагаш излишни class и id) и ще се изгъзърееш, че знаеш стандарта :) .
От личен опит знам че до IE 6 nested използването на <style> е позволено.Да кажем също и че по стари данни 60% (2008) от browser-ите  поддържат HTML 5.


Титла: Re: Еmbedded / вградени стилове които НЕ се намират в <HEAD></HEAD>
Публикувано от: VladSun в Nov 10, 2009, 16:11
Причината поради която екпериментирам със <STYLE> тагове е че страницата е предназначена да се включва от отдалечено include и искам да си идва изцяло пакетирана и да не зависи почти от нищо.

Предполагам, че няма да е проблем и да пуснеш отдалечен CSS за include "" / <link .. ;)
Но те разбирам - определено. Проблемът се появява и при използването на "partial views".