телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Правила html общи семейни правила 2. Правила за конструиране на HTML документи. Избягвайте използването на хакове

С удоволствие прочетох тези препоръки и сега ви предлагам превод. Въведение Това ръководство описва правилата за регистрация и HTML форматиранеи CSS код. Целта му е да подобри качеството на кода и да го улесни работим заеднои инфраструктурна поддръжка.

Това се отнася за работещи версии на файлове, използващи HTML, CSS и GSS

Разрешено е да се използва всеки инструмент за минимизиране на компилирането или обфускацията на кода, при условие че се поддържа цялостното качество на кода.

Общи правила за проектиране Протокол Не указвайте протокол, когато включвате ресурси на страница.

Пропуснете името на протокола (http:, https:) във връзки към изображения или други медийни ресурси, стилови файлове или скриптове, разбира се, ако тези файлове са достъпни и през двата протокола.

Не се препоръчва:
Препоръчва се:
Не се препоръчва: .example ( фон: url(http://www.google.com/images/example); )
Препоръчително: .example ( фон: url(//www.google.com/images/example); )

Общи форматиращи отстъпи Винаги използвайте две интервали за отстъпи.

Не използвайте раздели и не смесвайте раздели с интервали.

Регистър Винаги пишете с малки букви.

Целият код трябва да бъде написан с малки букви: Това се отнася за имена на елементи, имена на атрибути, стойности на атрибути (с изключение на текст/CDATA), селектори, свойства и техните стойности (с изключение на текст).

Интервали в края на ред Премахване на интервали в края на ред.

Интервалите в края на редовете не са задължителни и усложняват използването на diff.

Общи мета правила Кодиране Използвайте UTF-8 (без BOM).

Уверете се, че вашият редактор използва UTF-8 кодиране без знак за ред на байтовете (BOM).

Посочете кодирането в HTML шаблонии документи с помощта на . Пропуснете кодирането за css файлове: UTF-8 е зададено по подразбиране за тях.

(Можете да научите повече за кодировките и как да ги използвате на тази връзка: Набори от символи и кодировки в XHTML, HTML CSS.)

Коментари Когато е възможно, обяснете вашия код, където е необходимо.

Използвайте коментари, за да обясните своя код: какво прави, какво прави и защо се използва избраното от вас решение.

(Тази точка не е задължителна, защото няма смисъл да се очаква кодът винаги да бъде добре документиран. Полезността на коментирането зависи от сложността на проекта и може да се различава за HTML и CSS кода.)

Задачи Отбележете задачите за вашия списък със задачи с помощта на TODO.

Маркирайте задачи с помощта на ключовата дума TODO. Не използвайте други често използвани формати като @@.

Оградете контакти (потребителско име или пощенски списък) в скоби: TODO(контакт) .

Опишете задачата след двоеточие, например: TODO: Задача.

Препоръчително: (# TODO(Иван Иванов): Справяне с подравняването #) Тест
Препоръчва се:

  • краставици
  • домати

Правила за форматиране на HTML Тип документ Използвайте HTML5.

(Препоръчително е да използвате HTML с типа съдържание text/html. Не използвайте XHTML, тъй като application/xhtml+xml има лоша поддръжка от браузъра и ограничава опциите за оптимизация.)

Валидност на HTML Използвайте валиден HTML, когато е възможно.

Използвайте валиден HTML код, освен ако използването не ви позволява да постигнете размера на файла, необходим за желаното ниво на производителност.

W3C HTML валидатор (на английски) за проверка на валидността на кода.

Валидността е важно и измеримо качество на кода. Писането на валиден HTML насърчава ученето Технически изискванияи ограничения и гарантира правилното използвайки HTML.

Не се препоръчва: Проверете Просто проверете
Препоръчително: Проверка Просто проверка.

Семантика Използвайте HTML, както е предвидено.

Използвайте елементи (понякога неправилно наричани „тагове“) за предназначението им: заглавия за заглавия, p за абзаци, a за връзки и т.н.

Това прави кода по-лесен за четене, редактиране и поддръжка.

Алтернативни медии Винаги включвайте алтернативно медийно съдържание.

Опитайте се да предоставите алтернативно съдържание за медии, като изображения, видеоклипове или анимации, дефинирани с помощта на платно. За снимки това е смислен алтернативен текст (alt), а за видео и аудио, препис на текста и надпис, ако е възможно.

Алтернативното съдържание може да помогне на хората с увреждания. Например, за човек с лошо зрение е трудно да разбере какво има на снимката, ако @alt не е зададен за нея. Други хора може да имат затруднения с разбирането на казаното във видео или аудио запис.

(Ако alt на изображението е излишен или просто се използва за декоративни цели на места, където CSS не може да се използва, използвайте празен alt текст alt="" )

Разделяне на отговорностите Отделна структура, дизайн и поведение.

Поддържайте отделно структурата (маркиране), външния вид (стилове) и поведението (скриптове) и се опитайте да сведете взаимодействията между тях до минимум.

Уверете се, че документите и шаблоните съдържат само HTML и че HTML служи само за определяне на структурата на документа. Преместете целия код, отговорен за дизайна, в стилови файлове, а кодът, отговорен за поведението, в скриптове.

Опитайте се да намалите пресичанията им до минимум, като включите минимален брой стилови файлове и скриптове във вашите шаблони.

Разделянето на структурата от представянето и поведението помага да се направи кодът по-лесен за поддръжка. Промяната на шаблони и HTML документи винаги отнема повече време от промяната на стилови файлове или скриптове.

Не се препоръчва: HTML е гаден HTML е гаден

Четох за това някъде преди, но сега всичко определено е ясно: HTML е пълен боклук!!1Не мога да повярвам, че за да промените дизайна, трябва да правите всичко отново и отново всеки път.
Препоръчва се: Моят първи редизайн само за CSS Моят нов CSS дизайн

Четох за това преди, но накрая го направих сам: използвам принципа на разделяне на проблемите и не набутвам дизайна в HTML

Колко яко!

Мнемонични връзки Не използвайте мнемонични връзки.

Единственото изключение от това правило е официалното HTML знаци(Например< и & ) а так же вспомогательные и “невидимые” символы (например неразрывный пробел).

Незадължителни тагове Не използвайте незадължителни тагове. (не е задължително)

За да намалите размера на файла и да подобрите четливостта на кода, можете да пропуснете незадължителните тагове. Спецификацията на HTML5 има списък с незадължителни тагове.

(Може да отнеме известно време, докато този подход стане широко използван, тъй като е много различен от това, което обикновено се преподава на уеб разработчиците. От гледна точка на последователност, код и простота е най-добре да пропуснете всички незадължителни тагове, а не някои от тях).

Не се препоръчва: Ние губим байтове - губим пари.
Препоръчително: Байтовете са пари!

Така че

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

Не използвайте атрибута type, когато свързвате стилове (освен когато използвате нещо различно от CSS) и скриптове (освен когато използвате нещо различно от JavaScript).

Посочете атрибута тип в в такъв случайне е задължително, защото HTML5 използва текст/css и текст/javascript по подразбиране. Това ще работи дори в по-стари браузъри.

Не се препоръчва:
Препоръчва се:
Не се препоръчва:
Препоръчва се:

Правила за HTML форматиране Форматиране Създайте нов ред за всеки елемент от блок, таблица или списък и отстъпете всеки дъщерен елемент.

Независимо от стиловете, посочени за елемента (CSS ви позволява да промените поведението на елемента чрез свойството display), обвийте всеки блок или елемент на таблица на нов ред.

Също така, отстъпете всички елементи, вложени в елемент на блок или таблица.

(Ако имате проблеми с празното пространство между елементите на списъка, можете да поставите всички li елементи на един ред. В този случай се препоръчва Lint да издаде предупреждение вместо грешка.


Препоръчва се:
  • Маша
  • Глаша
  • Чебураш

Препоръчва се: Данъци върху печалбата
$ 5.00 $ 4.50

Правила за стил на CSS Валидност на CSS Използвайте валиден CSS код, когато е възможно.

Освен в случаите, когато се изисква код, зависим от браузъра, или грешки на валидатора, използвайте валиден CSS код.

Използвайте инструменти като W3C CSS Validator, за да потвърдите своя код.

Валидността е важно и измеримо качество на кода. Писането на валиден CSS помага за елиминирането на излишния код и гарантира правилното използване на таблиците със стилове...

Идентификатори и имена на класове Използвайте заместващи знаци или смислени имена и идентификатори на класове.

Вместо да използвате шифри или описание външен виделемент, опитайте се да изразите значението на създаването му в името на класа или идентификатора или му дайте име на шаблон...

Имената със заместващи знаци са просто вариантни имена за елементи, които нямат специално предназначение или са неразличими от своите братя и сестри. Те обикновено са необходими като „помощници“.

Използването на функционални имена или имена на шаблони намалява необходимостта от ненужни промени в документа или шаблоните.

Отхвърлено: /* Отхвърлено: безсмислено */ #yee-1901 () /* Отхвърлено: описание на външния вид */ .button-green() .clear()
Препоръчва се: /* Препоръчва се: точно и по същество */ #gallery () #login () .video () /* Препоръчва се: име на шаблон */ .aux () .alt ()

Имена на идентификатори и класове За идентификатори и класове използвайте имена, които са толкова дълги, колкото е необходимо, но възможно най-кратки.

Опитайте се да формулирате какво точно трябва да прави този елемент, като бъдете възможно най-кратки.

Това използване на класове и идентификатори допринася за по-лесното разбиране и ефективността на кода.

Селектори на типове Избягвайте използването на имена на класове или идентификатори със селектори на типове елементи (етикети).

Освен ако не е абсолютно необходимо (например с помощни класове), не използвайте имена на елементи с имена на класове или идентификатори.

Преки пътища за свойства Използвайте преки пътища за свойства, когато е възможно.

CSS предлага много различни съкратени форми (като шрифт), които се препоръчват да се използват, когато е възможно, дори ако е посочена само една от стойностите.

Използването на стенограма на свойства е полезно за по-голяма ефективности по-добро разбиране на кода.

Не се препоръчва: /* Не се препоръчва */ border-top-style: none; семейство шрифтове: palatino, georgia, serif; размер на шрифта: 100%; линия-височина: 1,6; подложка-отдолу: 2em; padding-left: 1em; padding-right: 1em; подложка-отгоре: 0;
Препоръчително: /* Препоръчително */ border-top: 0; шрифт: 100%/1.6 palatino, georgia, serif; подложка: 0 1em 2em;

0 и единици Не задавайте единици за нулеви стойности

Не посочвайте единици за нулеви стойности, освен ако няма причина да го направите.

0 в цялата част на дроб Не поставяйте „0” в цялата част на дроби.

Не поставяйте 0 в целочислената част в стойности между -1 и 1.

Кавички във връзките. Не използвайте кавички във връзките

Не използвайте кавички ("", "") с url().

Шестнадесетични имена на цветове Използвайте тризнаков шестнадесетичен запис, когато е възможно.

Тризнаковият шестнадесетичен запис за цветовете е по-кратък и заема по-малко място.

Префикси Префикс селектори с префикси, уникални за текущото приложение. (не е задължително)

В големи проекти, както и в код, който ще се използва за други проекти или на други сайтове, използвайте префикси (като пространства от имена) за идентификатори и имена на класове. Използвайте кратки, уникални заглавия, последвани от тире.

Използването на пространства от имена помага за предотвратяване на конфликти с имена и може да направи вашия сайт по-лесен за поддръжка. Например при търсене и замяна.

Разделители в класове и идентификатори Разделете думите в идентификаторите и имената на класове с помощта на тире.

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

Не се препоръчва: /* Не се препоръчва: думите „demo“ и „image“ не се разделят */ .demoimage () /* Не се препоръчва: използва се долна черта вместо тире */ .error_status ()
Препоръчва се: /* Препоръчва се */ #video-id().ads-sample()

Хакове Избягвайте да използвате информация за версията на браузъра или CSS хакове - опитайте първо други методи.

Изглежда изкушаващо да се борим с различията на работното място. различни браузъриизползване на CSS филтри, хакове или други решения. Всички тези подходи трябва да се разглеждат само като крайна мярка, ако искате ефективна и лесна за поддръжка кодова база. Просто казано, разрешаването на хакове и откриване на браузър ще навреди на проекта в дългосрочен план, тъй като това означава, че проектът поема по пътя на най-малкото съпротивление. Което улеснява използването на хакове и им позволява да се използват все по-често, което ще доведе до твърде честото им използване.

Правила за CSS форматиране Подреждане на реклами Сортирайте рекламите по азбучен ред.

Дефинирайте декларациите по азбучен ред, за да осигурите последователен код, с който се работи лесно.

При сортиране игнорирайте префиксите на браузъра. Освен това, ако няколко префикса на браузъра се използват за едно свойство, те също трябва да бъдат сортирани (например -moz трябва да е преди --webkit)

Отстъпи в блокове. Винаги правете отстъп на блоковото съдържание.

Винаги правете отстъп на всяко блоково съдържание, като например правила в правила или декларации, за да покажете йерархията и да направите кода по-лесен за разбиране.

След декларации Поставете точка и запетая след всяка декларация.

Използвайте точка и запетая след всяка декларация за последователност на кода и за по-лесно добавяне на нови свойства.

След имена на свойства Използвайте интервали след двоеточие в декларациите.

Винаги използвайте един интервал след двоеточието (но не преди) в декларациите, за ред в кода.

Разделяне на селектори и декларации Разделете селектори и декларации с нов ред.

Започнете всеки селектор или декларация с нова линия.

Правила за разделяне Правила за разделяне с прекъсвания на редове.

Винаги поставяйте прекъсване на ред между правилата.

Мета правила CSSGrouping rules Групови правила и посочване на групи с коментар. (не е задължително)

Когато е възможно, групирайте правилата заедно. Посочете групите с коментари и ги разделете с нов ред.

Заключение Да бъда постоянен

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

Идеята на това ръководство е да се създаде общ речник, който позволява на разработчиците да се съсредоточат върху това, което искат да изразят, а не как.

Ние предлагаме единни правиладизайни, които ви позволяват да пишете код в един стил, но стилът на кода, който вече е използван в проекта, също е важен.

Ако вашият код е много различен от съществуващия код, той може да наруши ритъма на читателя и да затрудни четенето. Опитайте се да избегнете това.

Бележка от преводача Бих искал също да отбележа, че Google се фокусира предимно върху големи проекти с голямо натоварване, където всеки байт е скъп, така че си струва да се има предвид, че ако препоръчват започване на всеки селектор на нов ред или използване на интервали вместо раздели, тогава това основно означава, че кодът задължително ще бъде минимизиран и компресиран преди употреба на сайта.

Благодаря на всички, които прочетоха до тук.

Правилата са част от нашия свят и постоянно ръководят ежедневните ни действия. В почти всяка област от живота ни има правила - правила на поведение, правила на етикета, правила за пресичане на улицата - списъкът може да бъде безкраен.

какви са правилата Това е набор от инструкции, които трябва да се следват или спазват. Има много английски думи, които означават правила или се отнасят до правила:

  • Внимание - предупреждение
  • Заповеди – заповед, нареждане
  • Упътвания - инструкции
  • Предупреждения - предупреждение
  • Ръководства
  • Насоки
  • Инструкции - инструкции
  • Закони - закони
  • Политики – настройки
  • Процедури
  • Наредби – правила
  • Предупреждения - предупреждения

Кратък код на Google

Правилата ни влияят всеки ден и са трудни за избягване дори на най-простите места, дори когато просто вървим по улицата е невъзможно да пропуснем всички знаци, поставени около нас, даващи предупреждения и насоки за правилата, които да следваме. Най-лесният начин да обясните дадено правило е да го запишете в книга или да поставите знаци, които всеки да вижда. Ето някои правила, публикувани под формата на знаци, които често можем да видим по улиците и на обществени места, известни като предупредителни знаци.

  • без колоездене – не можете да карате велосипеди
  • забранено влизане – влизането е забранено
  • забранено каране на кънки - не можете да карате ролери
  • пазете се от насрещни велосипеди - пазете се от насрещни велосипеди
  • Пазете се настрана = не блокирайте тази зона – не заемайте тази зона
  • тук не можете да пълните газовите си кутии - не можете да пълните газови бутилки
  • отрова = не го яжте – отрова = не можете да ядете
  • забранено пушене - забранено пушене
  • пазете се от хора, пресичащи пътя - бъдете внимателни, пешеходци
  • забранено паркиране – паркирането е забранено
  • не хвърляйте отпадъци - не хвърляйте боклук
  • не се допускат деца – деца не се допускат
  • не е разрешено снимане – снимането е забранено
  • моля, почистете след кучето си – почистете след кучето си
  • смъртна опасност – опасност, високо напрежение наблизо – опасно! – опасно, високо напрежение
  • забранено плюене - не можете да плюете

Както можете да видите, има много правила около нас (правилата са навсякъде около нас) и ние трябва да ги спазваме, въпреки че трябва да се каже, че понякога хората не спазват правилата, нарушават правилата или противоречат на правила (отиват срещу правилата), понякога са „хванати“ и наказани (те са наказани). Ако нарушите правило, може да бъдете принудени да платите пари, т.е. глоба/наказание, или по-лошо, може да ви принуди да отидете в полицейския участък.

Някога нарушавал ли си правилата? Хората, които винаги спазват правилата, се наричат ​​„спазващи закона“, а хората, които нарушават правилата, се наричат ​​„нарушители на закона“.

И накрая, бихме искали да ви пожелаем „бъдете добри!“ , „спазвайте правилата!“, „стойте далеч от проблемите!“

Статията не е съвсем уместна
В 10.2 и по-нови е добавена възможност за преименуване на страницата с правилата на сайта директно в административния панел на двигателя, когато директно редактирате текста на правилата. Страницата с правилата на сайта обаче остава. Той съществува и се намира на всеки уебсайт на DLE на http://my_site/rules.html
Как да изстискате целия сок от този адрес - прочетете нататък

Страница с правила на сайта в CMS DLE

Страницата с правила на сайта е системна статична страница. Обработва се от двигателя и се генерира по същия начин като обикновената статична страница. Просто е невъзможно да го премахнете - не е предвидено от разработчика на двигателя. Дори и самите правила на сайта да са забранени за показване по време на регистрация, тогава страницата с правилата на сайта е винаги достъпна на адрес http://my_site/rules.html Първата търсачка, която я намери там ще започне да бълва и да плюе по текста и заглавие. Нищо чудно. В крайна сметка, на всички DLE сайтове е едно и също нещо.

Когато страница с правила на сайта попадне в картата на сайта, тя се разглежда от търсачката като „боклук“ и не се включва в индекса за търсене, тъй като правилата на сайта са едни и същи почти навсякъде. Следователно страницата с правила на сайта в DLE по подразбиране е забранена (затворена) за индексиране при търсене във файла ( ред Disallow: /rules.html).

Уникалността на „Правилата на сайта“

Моето лично мнение за страницата с правилата на сайта и нейната уникалност е, че това е атавизъм, който отвлича вниманието на потребителя при регистрация. Правилата на сайта са елементарна издънка, чиято безполезност е успешно доказана от организаторите на социалните мрежи.

Не, добре, някой виждал ли е страхотни или специални правила при регистрация във Facebook или Twitter? Или може би са във VKontakte и Odnoklassniki? Същото нещо!

И някакъв уебсайт с 1000 уникални посетители -
започва да пише свои собствени уникални правила за потребителите.
Що се отнася до мен, най-добрите правила в сайта са пълното им отсъствие.
Ако потребителят е нормален и адекватен, той вече разбира всичко.

Няма страница - няма проблем

Не е тайна, че блокирането на страници и директории от индексиране при търсене не е панацея. По един или друг начин всяка страница от сайта рано или късно ще бъде „сдъвкана“ от търсачката. Например вземете същия Yandex. Неговите роботи за търсене ще изпомпват абсолютно всичко, което могат да намерят от сайта и едва тогава ще започнат да сортират и да мислят дали да върнат страниците за търсене или не. Това е съвсем очевидно, въпреки трогателните уверения на Yandex, че той и неговите роботи не изтеглят ненужни материали от сайта. Например, ако дадена уеб страница е затворена от индексиране, тогава Yandex запазва само адреса си с марката , или(кой как ще го затвори).

Вместо да ровите и да блокирате „нежелана“ страница с правила на сайта от индексиране на търсенето, много по-добре е да я преработите в друго полезно нещо и да отворите достъп до нея за търсачките - нека се успокоят. Или поне просто напишете поведението си на сайта и отново дайте достъп на търсачките до страницата.

Правила за отваряне на сайта за търсачките

Ние предприемаме смела стъпка и предоставяме на търсачките достъп до страницата с правила на сайта. За да направите това, в нашия файл намираме реда Disallow: /rules.html и го изтриваме nafik. Това е направено! Сега всеки робот за търсене ще може официално да влезе в отворените „Правила на сайта“ и, разбира се, да каже „Fe-e!“ и "Be-e!" За да предотвратим това да се случи, ние преработваме страницата „Правила на сайта“ - вмъкваме собствен уникален текст по всяка тема, снимки и променяме името (заглавието) на страницата.

Редактиране на страницата „Правила на сайта“.

Редактирането на страницата с правила на сайта е достъпно в административния панел на двигателя DLE, в „Списък на всички секции“ - раздел „Правила на сайта“. Редактирането на страницата „Правила на сайта“ се извършва както при всяка друга статична страница – в нормалния режим на работа на визуалния текстов редактор. Тук единствените проблеми могат да бъдат с писането на уникален текст и избора на уникални картинки. Малко по-нагоре има специален прозорец за въвеждане на заглавие (заглавие) за актуализираната страница. Но такава иновация се появи в, започвайки с версия 10.2.

За да преименувате страницата с правила на сайта
при по-стари модели двигатели -
ще трябва да се задълбочи в него системни файлове.

Преименуване на страницата „Правила на сайта“.
(за CMS DLE 10.1 и по-стари)

Директното преименуване на самата страница „Правила на сайта“ се извършва във файла adminpanel.lng, който се намира в папката language/Russian/adminpanel.lng. Файлът adminpanel.lng е системен файл на DLE двигателя. За да го редактирате, отидете на вашия сървър (иначе няма как).

Отворете файла adminpanel.lng.
Търся низ
"rules_edit" => "Общи правила на сайта"
Променяме думите „Общи правила на сайта“ с новото име. Нека затворим. Запазване. (Можете да промените само кирилицата, която е между кавичките. В противен случай тя ще спре да работи напълно.)

Изчистете кеша на двигателя и браузъра. След като редактирате и запазите файла adminlogs.lng, трябва да изчистите кеша на двигателя и кеша на браузъра, за да принудите двигателя да генерира нова страница с ново име и браузъра да я изтегли. Ако това не помогне и старото име продължава да се показва, трябва да отидете в административния панел на двигателя, да редактирате и запазите отново страницата „Правила на сайта“ с някакъв незначителен знак. Например, поставете точка в текста (след това можете да коригирате всичко обратно). Подобен тормоз и жестокости определено ще изчистят мозъците на двигателя и сървъра и ще ги принудят да генерират и показват ново име.

Мисли на глас. Имам чувството, че скъпи celsoft чете този блог. Малко по-късно, след тази публикация, в административния панел на версията на двигателя на CMS DLE 10.2 стана възможно да преименувате страницата с правилата на сайта по нормален цивилизован начин, без досадно ровене в системните скриптови файлове. Много благодаря на разработчиците на CMS DLE за тяхната работа и внимание към проблемите на обикновените хора.

В момента повечето браузъри показват сайтове, независимо дешифриращи и коригиращи грешки на уеб администратора. Трябва обаче да внимавате, когато пишете HTML - трябва да спазвате правилата за валидност, т.к правилното оформление е важно за оптимизирането на сайта и също така ще помогне да не полудеете за потребителите, които отварят вашия сайт в по-стари версии на браузъри.

Използвайте

Елементът се намира на първия ред на всяка HTML страница. Той определя версията на езика за маркиране, който се използва на страницата. В момента се препоръчва използването на doctype на формата - той е универсален за всяка версия на езика.

Използвайте правилната структура на документа

Тагове , , винаги трябва да присъстват в кода; това прави страницата съвместима със стандартите и гарантира, че ще бъде показана правилно.

погрешно



Здравей свят!

Здравей свят!


вярно



Здравей свят!


Здравей свят!



Дефинирайте техническа информациястраници правилно

Мета таговете и стиловете трябва да бъдат посочени в , а не някъде в тялото на страницата. За предпочитане е да включите скриптове в долната част на страницата преди затварящия таг. Предимството на този подход е, че преди да се покаже съдържанието на страницата, браузърът зарежда само стиловете и ще зареди скриптовете последни, което позволява на потребителя да види съдържанието на страницата по-бързо.

погрешно



Здравей свят!




вярно



Здравей свят!




Следвайте стандартите за маркиране Използвайте елементи според тяхната семантика Проверете валидността на HTML кода Използвайте алтернативен текст за изображения

Изображенията винаги трябва да включват атрибут alt. Браузърът разчита на този атрибут, за да предостави контекст за изображението. Атрибутът alt трябва да съдържа текст, който ще се покаже, ако изображението не е заредено.

погрешно

вярно

Не използвайте стилове в HTML маркирането

Това създава страници, които се зареждат твърде дълго и са трудни за поддръжка. Напишете всички стилове в отделен CSS документ. Опитайте се да използвате етикета и атрибута стил до минимум.

Пишете коментари

Коментирайте кода, но не прекалявайте. Коментарите, които са написани кратко и ясно, могат да послужат като голяма помощ за други разработчици, както и като важно напомняне за вас след известно време.

Пример:



Страница











Използвайте подходящи имена на класове

Дайте имена на css класовете в съответствие със съдържанието на блока, например: заглавка - заглавка, долен колонтитул - долен колонтитул, меню - меню, съдържание - съдържание. Това ще направи кода много по-ясен и лесен за поддръжка.

Лош код


  • Елемент от менюто 1

  • Елемент 2 от менюто

  • Елемент от менюто 3

Добър код

Правила за писане на CSS

CSS също има правила, които можете да следвате, за да запазите кода си прост, лесен за четене и добре организиран.

Възстановете стиловете на браузъра по подразбиране

Те могат да попречат на стиловете, които всъщност искаме да приложим. Можете да изтеглите файла за нулиране на стандартните стилове на браузъра от тук - reset.css.

Използвайте съкратени свойства и стойности

Лош код

подложка-отгоре: 5px;
padding-right: 10px;
padding-bottom: 15px;
padding-left: 20px;

Добър код

подложка: 5px 10px 15px 20px;

Посочете селектори и правила на нов ред

Лош код

Елемент (display:block;position: relative;padding:5px 10px 15px 20px;)

Добър код

елемент (
дисплей: блок;
позиция: роднина;
подложка: 5px 10px 15px 20px;
}

Въведете нулеви стойности без единици

Лош код

подложка: 10px 0px;
поле отляво: 0%;

Добър код

подложка: 10px 0;
margin-left: 0;

Пишете коментари

Разделете основните блокове с коментари, това ще подобри четливостта на кода.

Пример:

/*HEADER*/
заглавка (
}
/*КРАЙ НА ЗАГЛАВКАТА*/

/*ОСНОВНА*/
основен(
}
/*ОСНОВЕН КРАЙ*/

/*ДОЛЕН ФУТЪР*/
долен колонтитул (
}
/*КРАЙ НА ДОЛНИЯ ФУТЪР*/

Проверете CSS кода за валидност

Тези препоръки и правила са само основните, тъй като HTML езиции CSS се развиват все по-бързо и по-бързо и се разработват нови методи за писане на правилен код. Следвайки нашите препоръки, вие ще сте сигурни, че вашият код е прост, лесен за четене и оптимизиран. Ще получите и +100 карма и благодарност от разработчиците, които ще работят на сайта след вас.

Здравейте, скъпи читатели на сайта на блога. Днес предлагам да продължим разговора, който започнахме в горната статия. Още по-рано се запознахме с това какво представляват каскадните стилови таблици, научихме какво означават и много повече.

Всички материали за каскадни стилови листове, които вече са публикувани в този блог, могат да бъдат намерени в. Днес първо ще говорим за това как можете да комбинирате и групирате селектори, а след това ще разгледаме подробно правилата, които се прилагат за един и същ елемент в Html кода (Важно, броене на селектори и правила за писане в атрибута style).

Комбинации и групиране на селектори в CSS

И така, в предишни статии успяхме да разгледаме 7 вида:

От тези седем възможни видовеМожете да създавате комбинации в CSS. Всички комбинации, които ще направим са пряко свързани с (предци - потомци, родители - деца, братя - сестри).

Първият тип комбинация се нарича контекстен селектор. Той взема предвид връзката на елементите на HTML кода според принципа „предшественик - потомък“:

Индивидуалните селектори в комбинация се пишат разделени с интервал и трябва да се четат отдясно наляво. Че. Правилата на CSS ще се прилагат само за последното от тази комбинация (най-дясното), а всичко, което идва преди него, ни позволява само да посочим по-точно приложение (насочване) за нашите правила (подчертайте).

Първият пример гласи, че всички B елементи (удебелени), които имат Div елементи като предци, ще бъдат оцветени в зелено.

В горния код само подчертаният фрагмент ще бъде оцветен в зелено, защото сред неговите предшественици има Div и вторият фрагмент от код, подчертан с таговете B, ще остане цвета, който е избран за него по подразбиране, тъй като контейнерът Div вече не е сред неговите предци (само P и Body):

Такива комбинации работят във всеки браузър.

Следващият тип комбинация ще бъде дете селектор, който се основава на принципите на връзките между кодовите елементи от типа „Родител - дете“:

Пишат се с разделителен знак по-голям от (>):

Този записще се интерпретира от браузъра по следния начин: за , „родителят“ (най-близкият предшественик), на който е контейнерът Div, ще бъде маркиран в червено.

В примера по-горе само очертаните абзаци ще бъдат оцветени в червено, защото са затворени директно в контейнера Div, който е техният родител (най-близък предшественик). Ако промените горния пример на дъщерен селектор, за да изглежда така:

Тяло > p (цвят:червен)

Тогава само последният параграф ще бъде маркиран в червено, защото... неговият родител е етикетът Body и първите два параграфа ще останат в цвета си по подразбиране (Body е техният родител, но не техният родител, който е Div). Дъщерните селектори не работят в браузъра Ie 6.

Как и защо селекторите са групирани в CSS код

Последната комбинация се нарича съседни селектори и съответства на принципите на взаимоотношенията между елементите на HTML кода от типа „Сестри - Братя“. Те могат да използват „+“ или „~“ като разделител:

Този запис означава, че съдържанието на елемент I (курсив) ще бъде оцветено в червено само ако най-близкият му съсед отляво (отгоре в кода) е елемент B (удебелен). Например, това състояниеще бъдат последвани в този пример:

Ако напишете съседния селектор в Css код по следния начин:

H1 ~ p (цвят: червен)

Това ще означава, че всички параграфи (P), които имат съседен H1 елемент (заглавие), разположен по-нагоре в кода, ще бъдат оцветени в червено. Това се отнася конкретно за съседни елементи (отношения от типа „сестри - братя“). В примера по-долу даденият селектор ще бъде съпоставен с оградените абзаци:

Комбинации от съседни селектори в браузъра Ie 6 също, за съжаление, не се поддържат. В Ie 6 се поддържа само първият тип комбинация, но в Ie 7 и по-високи се поддържат всички останали. В други браузъри не би трябвало да има проблеми.

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

В примера, показан на екранната снимка, той се повтаря за всеки селектор на заглавка (h1-3), което може да причини сложност (многократна работа), ако искате да промените стойността на това свойство. Следователно вторият вариант на групиран запис изглежда малко за предпочитане.

Моля, обърнете внимание, че при групиране селекторите се разделят със запетаи. Ако има повече идентични правила, спестяванията на код ще бъдат по-забележими. И тези правила, които са уникални, трябва да бъдат записани индивидуално.

Приоритети на CSS свойства (със и без важни)

Сега нека помислим какъв стил ще използва браузърът, ако не са посочени стилове за този елемент на Html код? И за това има съответна спецификация, където всичко това е описано.

Както можете да видите, вече е настъпило окончателното разделяне на Html и Css. Тези. дори за чист HTML код, браузърът пак ще използва свойствата по подразбиране на стиловите таблици. Така че свойствата по подразбиране имат най-нисък приоритет.

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

Вярно, не всички браузъри имат тази функция, но поне Ie и Opera я имат. Тези. Ако желае, потребителят ще може да включи свой собствен CSS файл като източник на стилово маркиране.

Например, в Ie, за да направите това, трябва да изберете "Инструменти" - "Опции за интернет" от горното дясно меню и след това в първия раздел "Общи" щракнете върху долния бутон "Външен вид". В прозореца, който се отваря, трябва да поставите отметка в квадратчето „Дизайн с персонализиран стил“ и да използвате бутона „Преглед“, за да намерите файла за маркиране на CSS стил, от който се нуждаете на вашия компютър:

Тези. потребителят има възможност да направи така, че всеки сайт, отворен в браузъра, да изглежда в съответствие с неговите изисквания, описани в CSS файла. Те се наричат ​​"потребителски стилове" и имат предимство пред стиловете по подразбиране, дефинирани в спецификацията. Но още по-голям приоритет ще имат т. нар. авторски стилове.

Тоест, ако аз (разработчикът на сайта) исках да използвам стилове, различни от тези по подразбиране, в дизайна на който и да е Html кодов елемент (не забравяйте, че те са описани в спецификацията), тогава потребителят няма да може да замени моя дизайн с неговия собствен Css файл.

Ще бъде ли принуден потребителят да приеме това? Не. Той има способността да увеличава приоритета на своите CSS свойства, като добавя Важно в края на всяко от тях. Тази дума се пише разделена с интервал и се предхожда от удивителен знак:

P (цвят:червен !важно;)

Ако потребителят има същото свойство с Важно в собствения си стилов файл, който е свързал с браузъра, тогава той ще види всички параграфи в червено. Но авторът (разработчикът) на сайта също може да използва Важно за това свойство. Кой ще спечели тогава и чий приоритет ще бъде по-висок?

Решихме, че потребителските стилове с Важно ще имат по-висок приоритет във всеки случай от стиловете на автора, независимо дали са с Важно или без него.

Нека обобщим под формата на списък цялата представена информация относно приоритетите на стиловите свойства. Приоритетът ще намалява отгоре надолу:

  • Персонализирано с важно
  • Авторско право с Важно
  • Авторско право
  • Персонализиран
  • Приети стилове за HTML елементив спецификацията по подразбиране (когато нито авторът, нито потребителят са посочили нещо друго)
  • Тези. без Важно, авторските стилове са по-важни, а при тях стиловете на потребителите са най-важни и приоритетни. Е, сега нека се занимаваме с таблиците на автора, защото това, което прави потребителят, е неизвестно за нас и е обвито в тъмнина.

    Как да увеличите приоритетите на CSS свойствата в авторските стилове

    Сега преминаваме към въпроса за каскадните CSS стилови листове. Нека да разгледаме това с пример, за да стане по-ясно. Да кажем, че имаме част от код със следните Html елементи (параграф в контейнер Div):

    Съдържание на контейнера

    Нека първо запишем следните свойства:

    P (цвят:червен) .sbox (фон:#f0f0f0)

    В резултат на това както първият от тях ще бъде приложен към параграфа (тъй като е формиран от маркера P), така и свойството, което указва Сив фонза елемент с класа „sbox“, който отново в този параграф има:

    Сега нека добавим още едно свойство към втория селектор (на класа), което ще бъде в конфликт с първия ред (и двата задават, но използват различни стойности):

    P (цвят:червен) .sbox (фон:#f0f0f0;цвят:син)

    Това ще накара цвета на текста на абзаца да се промени на син вместо червен.

    Защо? Защото точно това е начинът за разрешаване на конфликт, когато един и същ елемент на Html код получава няколко идентични правила наведнъж, но с различни стойности и от различни места в Css кода. За да определите кое правило има по-висок приоритет, трябва да преброите неговите селектори.

    Освен това самите селектори имат градация по приоритети. ID има най-висок приоритет. В този пример цветът на текста ще бъде син точно защото приоритетът на идентификатора (#out) ще бъде по-висок от този на селектора на етикет (p):

    P (цвят:червен) #out (цвят:син)

    По-надолу в стълбата на приоритета са селектори за класове, псевдокласове и атрибути. В следващия пример тагът (p) ще се възпроизведе отново и цветът на текста на абзаца ще бъде син, защото се конкурира със селектора с по-висок приоритет (клас):

    P (цвят:червен) .sbox (цвят:син)

    Е, най-ниският приоритет (без да се брои универсалният *, който има най-ниска тежест и не прави никакви промени в такова забиване) са селекторите на тагове и псевдоелементи.

    Div p (цвят:червен) p (цвят:син)

    Какъв цвят ще бъде полученият текст на абзаца? Точно така, червено е, защото... Това свойство има повече селектори на етикети (два срещу един). О, как. Тези. Идентификационните номера се разглеждат първо. Ако победителят не бъде идентифициран, тогава се вземат предвид класове, псевдокласове и атрибути. Е, ако там нищо не е разрешено или не са намерени такива, тогава се вземат предвид селектори на тагове и псевдоелементи.

    Но е напълно възможно победител да не излезе и селекционерите на състезаващите се класове общо да имат равен приоритет. Например за нашия многострадал параграф, затворен в контейнер Div:

    Съдържание на контейнера

    Би било напълно възможно да напишете част от CSS код като този:

    Div.box #out(color:red) #in p.sbox(color:blue)

    И какъв цвят трябва да е текстът на абзаца? И двете комбинации описват точно нашия параграф. Първият трябва, както обикновено, да се чете отдясно наляво: приложете тези свойства (цвят: червен) към елемент с Id #out, който се намира някъде вътре (имайте го сред „предците“) на Div контейнера с class.box (div.box). Съвпада напълно с нашия параграф.

    Втората комбинация: приложете тези свойства (color:blue) към елемент на параграф с класа sbox (p.sbox), който е във всеки елемент с Id #in. Отново, той напълно описва нашия параграф. Да преброим селекторите.

    Идентификаторите се появяват веднъж и в двете комбинации и същото може да се каже за класовете. Остава само да се преброят селекторите на етикети, но те също се използват еднакъв брой пъти и в двете комбинации (една). Засада.

    Резултатът е равни приоритети за едно и също свойство с различни стойности (цвят на текста червен или син). Как браузърът ще реши тази дилема?

    Тук ще важи правилото: прав е който е последен. Следователно в моя пример цветът на текста на абзаца ще бъде син, тъй като това свойство (color:blue) се намира по-ниско в кода. Ако тези правила са обърнати:

    #in p.sbox(color:blue) div.box #out(color:red)

    В резултат на това цветът на текста на абзаца ще се промени на червен. Q.E.D. Можете да добавите например друг селектор на етикет към всяка комбинация и ние ще наклоним везните в негова полза, дори и да не е по-надолу в кода:

    Тяло #in p.sbox(color:blue) div.box #out(color:red)

    В този случай цветът на абзаца ще се промени на син. Универсалният селектор “*” изобщо не влияе върху изчисляването на приоритетите. Между другото, точно по-горе разгледахме начин за увеличаване на приоритета на CSS правилата чрез добавяне на Важно. В нашия пример може да изглежда така:

    P (цвят:зелен !важно) #в p.sbox(цвят:син) div.box #out(цвят:червен)

    Какъв цвят ще бъде текстът на параграфа в този случай? Зелено, разбира се. И дори не е нужно да броите нищо, защото добавянето на Важно към свойството стил ясно разрешава този спорен проблем, без значение къде се намира в кода и без значение колко селектори има.

    Но Важното не е единственият начин за безусловно повишаване на приоритета на даден имот. Вторият начин да подобрите това може да бъде да използвате стилови свойства в атрибута Style на Html елемента, от който се нуждаете.

    Тези. вътре в същия многострадален таг P, добавете атрибут Style, указващ произволен цвят:

    Съдържание на контейнера

    Това е. Сега, независимо какви свойства са посочени за този елемент във външен файл със стилова таблица или вътре в таговете на стиловия Html код, цветът на текста на абзаца ще бъде жълт.

    Но няма да може да победи свойствата с Важно. Тези. в последния пример, където добавихме правилото "p (color:green !important)", цветът на текста все още ще бъде зелен, въпреки че style="color:yellow".

    Всъщност приоритетът на двете правила (с Важно във външния файл със стиловия лист и в атрибута style) е равен, което означава, че трябва да продължим към преброяването на селекторите. Могат ли наистина да са вътре в атрибута стил?

    Да, не може да има, което означава, че правилото, записано в атрибута style, винаги ще губи от правилото с Important само поради по-малкия брой селектори (нулата ще бъде по-малка от всяко число).

    Е, какво тогава ще даде най-голям приоритет? Свойство Css? Точно така, ще бъде написано в атрибута style и дори с Важно:

    p (color:green !important) #in p.sbox(color:blue) div.box #out(color:red)

    Съдържание на контейнера

    В този случай цветът на текста на параграфа ще бъде жълт и ще бъде невъзможно да го прекъснете с нещо в стиловете на автора. Намерихме абсолютен начин за задаване на стилове. То може да бъде прекъснато само от потребител с негов собствен стилов файл и свойството Важно, посочено за това.

    Така че, нека се опитаме да съставим списък с фактори, които влияят върху приоритета на свойствата в стиловете на автора в низходящ ред:

  • Посочване на свойството в атрибута style на желания таг заедно с Важно
  • Добавяне на важно към свойство във външен файл със стилова таблица или в тага за стил директно в Html кода
  • Просто задаване на това свойство в атрибута style е необходимо на елемента
  • Използване на по-голям брой идентификатори за дадено свойство
  • Използване на повече селектори на класове, псевдокласове или атрибути
  • Използване на повече селектори на етикети и псевдоелементи
  • По-ниско разположение на свойството в CSS кода, при равни други условия
  • Всъщност правилата в атрибута style се използват изключително рядко (представете си колко трудно би било в този случай да направите промени в целия код на сайта, а не в отделен файл CSS).

    Този атрибут се използва главно, когато просто трябва бързо да тествате нещо. Е, също така е удобно, ако вмъкнете кода си в Html страници на други хора, които имат свой собствен стил и които могат да бъдат наследени () за вашите вмъкнати елементи.

    Защо и как да вмъкнете своя код в страниците на други хора? Може да не е необходимо, но Yandex и Google правят това, когато или на сайтове на други хора (наши сайтове).

    Чрез добавяне на атрибута style към всички елементи на кода за блокиране на реклами, със свойствата, посочени в него и добавеното Важно, вече не е нужно да се притеснявате, че рекламният код ще бъде променен по някакъв начин (въпреки че рекламите на Yandex все още могат да се променят с помощта на CSS и Важно, очевидно не са използвали този метод).

    Късмет! Ще се видим скоро на страниците на сайта на блога

    Може да се интересувате

    Таг, клас, Id и универсални селектори, както и селектори на атрибути в съвременния CSS
    Селектори на псевдо-класове и псевдо-елементи в CSS (hover, first-child, first-line и други), връзки между Html код тагове
    Стил на списък (тип, изображение, позиция) - CSS правилаза персонализиране на външния вид на списъците в Html кода
    За какво е CSS, как да свържете каскадни таблици със стилове HTML документи основния синтаксис на този език
    CSS - какво е това, как каскадните стилови таблици са свързани с Html кода с помощта на стил и връзка
    Размерни единици (пиксели, Em и Ex) и правила за наследяване в CSS
    Фон в CSS (цвят, позиция, изображение, повторение, прикачен файл) - всичко за настройка на цвета на фона или фоновото изображение на Html елементи
    Как да намерите и премахнете неизползваните стилови линии (допълнителни селектори) в CSS файла на вашия сайт Различен дизайн за вътрешни и външни връзкичрез CSS



    Свързани публикации