Какво представляват външните и вътрешните стилови таблици. Определение на цветовете. CSS уроци. Структурен псевдоклас селектор

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

1. Основни неща

Ще започна със самите основи. Когато стартирах този сайт, написах малък урок за изучаване на CSS стилове. Уроците са подходящи както за тези, които тепърва започват, така и за тези, които вече знаят нещо, за да опреснят знанията си. Всичко там е проектирано в снимки и реални примери.

Малко отклонение:когато започнах сам да изучавам темата за изграждане на сайтове, научих почти всички HTML тагове и те не ме вдъхновяваха много. Но след като започнах да уча таблицата със стилове на CSS и да се опитвам да приложа всяко от свойствата, много ми хареса (не бих го направил, ако не ми хареса). Видях, че можете да правите невероятни неща само с CSS. Това не е език за програмиране, който отнема месеци, за да се научи. Стиловата таблица може да бъде усвоена за една (максимум две) седмици.

Разбира се, няма да изучавате абсолютно всички свойства и техните значения и това не е необходимо! Трябва само да знаете основите, за да можете да започнете да прилагате и използвате във вашите проекти. Един важен нюанс е, че трябва ВЕДНАГА да приложите свойството, което току-що научихте, като използвате реален пример. Независимо дали е ваш собствен сайт или обикновен HTML сайт, няма разлика. Важно е да се опитате да пишете със собствените си ръце и да видите резултата.

Имам много примери на моя сайт, които използват CSS. Само и заедно те съдържат повече от 100 урока! Когато знаете поне основите, тогава можете спокойно да промените и приложите всички примери от уроците.

Моите уроци за основите на CSS каскадирането

2. CSS и CSS3 Cheat Sheet

Е, вие сте научили основите и след няколко дни сте забравили всичко с "успех" и вероятно смятате, че това не е ваше и всичко е сложно. Искам да ви насърча малко - аз самият не познавам всички свойства на CSS. Но какво ми пречи да ги гледам в интернет?

Вярно е, докато отидете в Yandex или Google, след това въведете заявката, от която се нуждаете. И ако все още не дава това, от което се нуждаете в търсенето. Така че можете да прекарате много време, но все още да не намерите това, което наистина търсите.

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

CSS и CSS3 Cheat Sheets

Това са просто незаменими материали за оформление и разработка на уеб сайт. Времето за разсейване и търсене в интернет за описания на имоти е намалено многократно.

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

Все едно е в училище:дори и да не използвате измамник, но с него пак е някак по-спокойно в душата ви 😆.

За какво са таблиците със стилове?

Създадохте предишните страници, както сте ги създали преди появата на каскадни стилови таблици или CSS.

Основните проблеми, с които се сблъскаха разработчиците на сайтове преди появата на CSS:

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

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

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

CSS може да реши тези проблеми.

Начини за прилагане на CSS

Има три начина за прилагане на стилови таблици:

    Вътрешни стилови таблици(Inline Style Sheets) - поставят се директно в HTML тагове с помощта на специален атрибут.
    Примерен HTML:

    Пример за CSS:

    Както можете да видите, кодът за Inline Style Sheet е по-голям от HTML. Следователно ISS трябва да се използва само ако е необходимо да се зададе собствен индивидуален стил за определен елемент.
    С помощта на допълнителния атрибут style можем да дефинираме параметрите на стила, от които се нуждаем, във всеки таг. Това е най-лесният метод и работи само в рамките на един таг. Но представете си колко ще нарасне размерът на файла и колко неудобно ще бъде да го поправите, ако посочим стила за всеки маркер.

    Глобални стилови таблици(Глобални стилови таблици) - дефинирайте стила на елементите в целия документ.
    За да направите това, използвайте етикета

    Свързани стилове

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

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

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

    Ето реда, свързващ правилата от файла mystyle.cssс HTML страница:

    rel = "лист със стилове"указва, че маркерът се отнася до файл със стилова таблица, href = "mysyle.css"задава своя адрес. Правилата за адресиране са същите като при обикновените връзки - пътят може да бъде абсолютен, относителен и т.н.

    Импортирани стилове

    Използване на командата @importможете да добавяте стилове от CSS файл към текущата таблица. Това може да се наложи, например, ако искате да допълните индивидуалното оформление на документа, определено с помощта на глобални стилове, с универсални правила от отделен файл. Методът не може да се използва с вградени стилове.

    Кодът по-долу ще импортира файловата таблица в документа any.css, който се намира в папката с редактирания HTML документ:

    @import url (any.css);

    Командата е написана на реда под отварящия таг

    За какво са таблиците със стилове?

    Каскадните стилови таблици или CSS (от английски Cascading Style Sheets) са следствие от по-нататъшното развитие на HTML и ни дават възможност да преминем към следващото ниво на представяне на информация. Стиловите таблици ви позволяват да разделите семантичното съдържание на страницата и нейния дизайн.

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

    Оттогава обаче много се промениха и HTML стандартът загуби първоначалната си стройност. Първоначално Netscape добави "подобрени тагове", които позволяват повече контрол върху външния вид на представената информация. Иновацията се улови и всички разширения на Netscape станаха де факто стандарт. След това Microsoft направи същото. Когато го осъзнаха, HTML беше ужасна смесица от логически и дизайнерски тагове, несъвместими разширения и напълно спря да отговаря на оригиналната концепция – да представя информация на всяко устройство, независимо от характеристиките му на изобразяване на информация.

    Тогава беше предприета мащабна стандартизация. В резултат на това се роди стандартът HTML 3.2. Той не беше революционен, а само въведе всички иновации и разработи общи препоръки за производителите на браузъри. Революционни промени бяха въведени в новия стандарт - HTML 4.0 или, както започна да се нарича, Dynamic HTML. Въведени бяха слоеве, таблици със стилове и общият обектен модел на браузъра.

    Новият стандарт се опита да се върне към произхода на концепцията за HTML. Четвъртата версия, както и първата, препоръчва създаването на страници по такъв начин, че да могат да се възпроизвеждат на всяко устройство - било то 21-инчов монитор или малък черно-бял екран на мобилен телефон.

    Как беше решен проблемът с представянето? Това е революционният подход. Препоръчително е да прехвърлите целия дизайн във външен файл за стил. Главната страница ще съдържа само информация и връзки към необходимите стилове.

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

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

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

    Като оставим малко теория, нека преминем към практиката и ще започнем със свързване на стилова таблица към HTML файл.

    Включително стилови таблици
    За да изпълним тази задача, можем да използваме един от 3-те предложени метода:

    външен файл

    описание в заглавната част

    вградено описание

    Нека започнем с най-простото, така нареченото вградено описание или описание, вградено в таг:

    Този текст е отменен от стила

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

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

    Когато използвате този метод, описанието на стиловете трябва да бъде поставено в заглавната секция:


    ....

    Сега тези стилове могат да се прилагат навсякъде в html кода. За това се използва следната конструкция:

    Този текст е написан със стила на заглавката

    Този текст е написан в червено

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

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

    И накрая, третият начин е да прехвърлите описанието на стиловете във външен файл. Неговият обхват на влияние се простира до всички файлове, в които е включено описанието. Този метод е в най-голяма степен в съответствие с концепцията за HTML 4.0. Ако трябва да променим външния вид на сайта, тогава ще бъде достатъчно да коригираме само този файл. Сравнете го с предишните методи. В един от тях ще трябва да промените описанието на всяка страница, а в другия, още повече - близо до всеки етикет, което, разбира се, не е никак вдъхновяващо.

    Как да вградите външен файл? Първо се създава стилов файл с описание на всички класове, от които се нуждаем (mystyle.css):

    Заглавка (подравняване на текста: център; размер на шрифта: 27pt;)
    .червен (цвят: червен;)
    p (подравняване на текста: център; размер на шрифта: 12pt;)


    ....

    ....

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

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

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

    Каскадни стилове
    И така, първо, нека разберем защо стиловете се наричат ​​каскадни. Позволете ми, скъпи читателю, отново ще ви дам начините за внедряване на стилове на страница:

    като използвате отделен файл за стил и го вмъкнете с помощта на таг

    описание на стила в главата на документа

    прилагане на стил като параметър в таг.

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

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

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

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

    За какво е? О, това е много полезно нещо. И сега ще покажа това с конкретен пример. Да приемем, че следният стил е дефиниран за всички връзки в заглавката на нашата страница:


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

    Авторско право (C)
    1998-2001 Cherry-Design

    Направихме това с помощта на параметъра style и, както си спомняте, той действа само в рамките на тага, в който е дефиниран. Това, което ни трябва.

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

    В кои тагове е по-добре да се дефинират стилове с помощта на клас? Най-често за това се използва една от следните конструкции:

    Нещо


    Нещо

    Нещо

    етикет

    е подобен , но само с тази разлика, че прави прескачане преди и след себе си (по същия начин като

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

    Не чрез дефиниране на конкретен клас.

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

    от Netscape категорично отказва да наследи стилове преди таблицата.

    Имайки предвид каскадно, нека поговорим за синтаксиса.

    CSS синтаксис
    Всеки клас е описан с помощта на конструкция като тази:

    Малък (размер на шрифта: 9pt;)

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

    Малък (размер на шрифта: 9pt; цвят: #eeeeee; подравняване на текста: център;)

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


    Тъй като има универсални класове, тогава вероятно има някои други? Точно така, има и така наречените маркирани класове:

    p.small (размер на шрифта: 9pt;)

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

    Този текст ще бъде изобразен с малък стил


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

    p, td (размер на шрифта: 9pt; цвят: зелен;)

    Тази техника се нарича групиране и в този случай сме дефинирали за

    същия размер и цвят на текста.

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

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

    a (текст-декорация: няма;)
    a: задържане на мишката (текст-декорация: подчертаване;)

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

    Ето още един пример за псевдоклас - дефиниране на капачка в началото на параграф:

    p: първа буква (размер на шрифта: 200%; тегло на шрифта: удебелен;)

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