Структура на папки и елементи. Абсолютни и относителни връзки Свържете CSS файл вътре към файл от същия тип
Здравейте на всички, приятели. Днес ще отговоря прост въпрос: „как да свържа css стилов лист към html страница?“
Видео версия на статията:
За да направите това, трябва да вмъкнете в съдържанието на етикета следващ ред:
Нека обясня: тагът за връзка ви позволява да се свържете към страницата външни файлове. Атрибутът rel = “stylesheet” дава инструкции, че включеният файл е стилов лист. Href е пътят до файла със стилове. По правило стойността му е “style.css”, ако стиловият лист се нарича по този начин и се намира в същата папка като html страницата, за която е свързан.
Как да посочите пътя до файл
Съответно, ако css файлът се намира някъде другаде, тогава пътят до него е написан по различен начин. Примери, за да стане по-ясно:
Файлът table.css се намира в папката styles, която се намира в същата папка като html страницата: href = “styles/table.css”
Файлът fonts.css се намира в папката styles, която се намира в папката css, която от своя страна се намира там, където е html страницата: href = “styles/css/fonts.css”
Две точки ви позволяват да посочите пътя обратно от първоначалното местоположение (от мястото, където се намира нашата html страница). Така че можете да го достигнете по следния начин:
Href = “../style.css” – файлът е едно ниво над html файла.
Href = “../../style.css” – две нива по-високо.
Href = “../../../css/style.css” – три нива по-високо + самият стилов файл също се намира в папката css.
Надявам се тези прости примериразбирате, за да разберете напълно как да зададете пътя до файла.
Отхвърлен атрибут
Преди това, когато свързвате стилов лист, също беше необходимо да посочите атрибута type = „text/css“ в етикета за връзка, но днес това вече не е задължително изискване - браузърите вече разбират всичко отлично. Въпреки това, за пълна поддръжка в по-стари браузъри, можете да играете на сигурно и все пак да го добавите.
В тази публикация ще дам пример за това как да организирате стилове в типичен проект.
Кратко въведение, ще се опитам да обясня уместността на проблема и защо е необходим.
Нека разгледаме тази ситуация. Разработчикът получава задачата да внедри следващата функционалност на сайта. Това включва добавяне на нови раздели, блокове, елементи. Разработчиците често не се доверяват на кода на други хора и когато стигнат до оформлението, те намират css файл с име като main.css и добавят новите си стилове към края.
Мина известно време, дойде нов разработчик, той получава подобна задача, дори и да се опита да разбере стиловете, той вижда, че там няма модел и повтаря същото, което направиха предишните.
Ръководството поставя срокове, разработват се все повече и повече нови функционалности и проектът се разраства. В резултат на това css файловете се превръщат в кошче, сайтът се зарежда повече, появяват се повече дефекти и т.н.
Мисля, че много хора са запознати с това.
Сега нека поговорим директно за самото структуриране на стиловете.
Не е разумно да съхранявате всички стилове в един файл с течение на времето, става доста трудно за навигация. Освен това всяка страница използва около 10% от правилата от този файл и тежи доста.
Много по-оптимално е да разделите стиловете в логически блокове на сайта.
Също така трябва да свържете библиотека за работа с css (LESS, SASS, SCSS) към проекта. Ще трябва да работим с променливи и функции.
За да се намалят заявките към сървъра, е необходимо сглобяване на файлове. Файловете трябва да бъдат слепени заедно с помощта на специална конструкция, например можете да използвате стандартната конструкция css - import; Тук може да се нуждаете от помощта на разработчик, за да редактирате изходния код на css библиотеката, която сте избрали.
Плюс това, за да се намали силата на звука, файловете трябва да бъдат доставени на клиента компресирани. dotLess, например, компресира файлове, когато е зададено
Всеки логически блок ще има отделен css файл. Това улеснява поддръжката, намирането на правилните стилове и като цяло навигирането във файловете. Всички тези файлове са източници, ние ще ги съхраняваме в папката /css/sources/. Останалите css файлове са колекционери, те са свързани със страници и се събират чрез импортиране на изходни кодове.
Да кажем, че разглежданият проект е някаква социална мрежа, въз основа на която можем да различим следната структура:
/css
/източници - папка за ресурси, не е качена на сървъра
/глобални-варианти - файловете в тази папка се включват във всеки css файл на колектора, ако е необходимо
locals.css - глобални променливи
functions.css - глобални функции
/общ
reset.css - Мисля, че няма нужда да обяснявам, ясно е какви са стиловете
utils.css - стилове като .clearfix
/съдържание
base.css - основни стилове за съдържание, а именно - h1-h6, p, топчета за списъци (ul.text, ul.dashed и т.н.), dl, dd, dt, изображения и панели в текст (текст обвиване), текстови говорители и др. .
панели.css - различни панели
tables.css - стилове за таблици в съдържанието (th, striped)
/контроли
бутони.css - видове бутони
forms.css - общи стилове за полета за въвеждане (например вътрешна сянка, фокус (рамка), стил на съобщения за валидиране и скриването им по подразбиране)
tabs.css - раздели, раздели
системни известия.css - системните съобщения обикновено са от 3 вида: успех (зелено), неуспех (червено) и информация (сиво, синьо)
pager.css - пейджър
banners.css - банери в сайта
balloons.css - всички видове балони, подсказки, персонализирани подсказки и др.
/член
thumb.css - потребителски аватар
card.css - потребителска карта (аватар, име, кратка информация)
cards-list.css - например решетка с карти
profile.css - потребителски профил
/модули - различни модули за сайта
search.css
списък с новини.css
подаръци.css
игри.css
/not-auth - за неоторизирани потребители
login.css - формуляр за пълномощно
регистрация.css - регистрационна форма
/автор - за оторизирани потребители
my-account.css
mail-system.css - входящи съобщения, изходяща кутия и др.
auth-menu.css - меню за навигация в разрешената зона
my-profile.css - преглед на вашия профил, редактиране
/оформления
общ.css
header.css
горно меню.css
долен колонтитул.css
overlay.css - например всички слоеве, плаващи отгоре, ще имат тъмнина от 0,5
main.css - главен колектор, свързан към всички главни страници
/оформления
default.css - основно оформление на сайта, събира файлове от папка /layouts, свързва се към master с основното оформление
popup-windows.css - стилове за изскачащи прозорци, свързани на главните страници за изскачащи прозорци
not-auth.css - събира стилове от папката /sources/not-auth/
auth.css - събира стилове от папката /sources/auth/
/теми - различни теми на сайта
нова година.css
st-valentine.css
/%име-на-раздел% - някои нов разделсайт, „сайт в сайта“, характеризиращ се с наличието на собствено подменю и др.
/css
%име-на-раздел%.css
оформление.css
/източници
меню.css
Разбира се, всеки проект има своя уникална структура. Важен е принципът на разделяне на файловете.
Допълнително описание за някои файлове:
main.css- събира файлове от папки:
/източници/глобални-варианти
/източници/общ
/източници/съдържание
/източници/контроли
/източници/член
/източници/модули
functions.css- съдържа глобални функции, като например:
.rounded-corners(@radius)
{
радиус на границата: @radius;
-moz-border-radius: @radius;
-webkit-border-radius: @radius;
* поведение: url (/libs/progressive-IE.htc) ;
}
източници/оформления/common.css- глобални стилове за оформление:
.колони-обвивка
{
дисплей: маса;
* увеличение: 1;
}
.колони-обвивка .колона
{
дисплей: таблица-клетка;
* float: ляво;
}
Свързване на файлове not-auth.cssИ auth.cssзависи от статуса на оторизация на потребителя. Например в asp.net ще изглежда така:
< asp:LoginView runat ="server" >
< AnonymousTemplate >
< link href ="/css/not-auth.css" rel ="stylesheet" type ="text/css" />
AnonymousTemplate >
< LoggedInTemplate >
< link href ="/css/auth.css" rel ="stylesheet" type ="text/css" />
LoggedInTemplate >
asp:LoginView >* Този изходен код беше маркиран с инструмента за открояване на изходния код.
Бих искал да ви дам една концепция, която според мен трябва да се следва.
Новите страници трябва да бъдат изградени от компоненти, „строителни елементи“ - css класове. Някои хора разбират погрешно тази концепция и изграждат страница от класове като mar-bottom-15, float-leftили подложка-20, което също е голяма грешка.
Трябва да се поддържа в целия сайт единен стилелементи, т.е. Заглавието h1 на едната страница трябва да изглежда по същия начин като h1 на другата. Заглавия, параграфи, списъци, панели, раздели, пейджъри, таблици със съдържание и др. дизайнът трябва да се придържа към един стил.
Преди да напишете стилове за нова страницасайт, трябва да анализирате вече съществуващите CSS файлове на проекта, може би необходимите стилове вече съществуват там. CSS файлът не трябва да нараства ненужно.
В заключение ще кажа, че всичко описано по-горе е от значение и за JS.
В тази част на урока ще се запознаем с нови термини, които се използват за описание на папки и HTML елементи.
Забележка: Папката също често се нарича директория или директория.
Структура на сайта
Не съхранявайте всичките си файлове в една папка. Дори малките сайтове са много по-лесни за управление, ако поставяте HTML документи, изображения и други ресурси в различни папки, като по този начин създавате специфична структура за местоположението на различни файлове. Като структурирате файловете, както желаете, можете да изберете достатъчно за себе си гъвкава системаорганизация на файлове, като се има предвид, че сайтът може да се разраства, файловата система ще остане ясна и разбираема. Структурата (йерархията) на директориите, в които се намират различни файлове, обикновено може да се види под формата на дърво. Разгледайте следното изображение като пример.
Както можете да видите, структурата е просто диаграма, която показва влагането на някои директории в други. В примера използвахме само три директории, но това ще бъде достатъчно, за да опишем цялата необходимата информация. Директориите често се описват от гледна точка на наследствени (семейни) връзки. Имаме папка, наречена Банани, разположена в папката Плодове. Папката „Плодове“ е родител на директорията „Банани“, а директорията „Банани“ е дъщерна (дъщерна директория) на папката „Плодове“. Имаме и папка „Киви“, която също е дете на директорията „Плодове“.
За да ви помогнем да запомните по-добре, ще опишем термините отделно:
- Детска директорияе папка, която има родителска директория над нея в йерархичното дърво.
- Родителска директорияе папка, съдържаща друга директория.
- Има и такова понятие като "главна директория"- това е основната (основната) папка, в която се намират всички останали директории и файлове.
Елементна структура
Структурата на елементите може също да бъде представена под формата на диаграма, показваща влагането на някои елементи в други. Нека да разгледаме един прост пример:
Може да бъде представена диаграма, показваща влагането на елементи както следва:
- Детски елементе елемент, който има родителски елемент над него в йерархичното дърво. Извиква се и дъщерен елемент дете.
- Свързан елементе друг дъщерен елемент на същия родителски елемент на същото ниво на клон. Такива елементи също се наричат сестрински, в примера такива елементи са И ,
И