![]() |
Модераторы: Illuminaty |
![]() ![]() ![]() |
|
lysyj |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 5.2.2014 Репутация: нет Всего: нет |
Один знакомый сказал мне что все веб-программисты пишут на CSS в парадигме ООП.
Каким образом реализуется ООП на CSS? |
|||
|
||||
JAYBE |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 27.3.2008 Репутация: 1 Всего: 0 |
Скорее всего из-за нижеследюущего текста.
Наследование. Каскадирование. Приоритеты стилей CSS. Применение CSS к документам HTML основано на принципах наследования и каскадирования. Принцип наследования заключается в том, что свойства CSS, объявленные для элементов-предков, наследуются элементами потомками. Но, естественно, не все свойства CSS наследуются — например, если для тега параграфа p средствами CSS задана рамка, то она не будет наследоваться ни одним тегом, содержащимся в данном теге p, а вот если для параграфа p средствами CSS задан цвет шрифта (например, color:green;), то это свойство будет унаследовано каждым элементом-тегом, находящимся в параграфе. Принцип каскадирования применяется в случае, когда какому-то элементу HTML одновременно поставлено в соответствие более одного правила CSS, то есть, когда происходит конфликт значений этих правил. Чтобы разрешить такие конфликты вводятся правила приоритета. Наиболее низким приоритетом обладает стиль браузера; Следующим по значимости является стиль, заданный пользователем браузера в его настройках; И наиболее высоким приоритетом обладает стиль, заданный непосредственно автором страницы. И далее, уже в этом авторском стиле приоритеты расставляются следующим образом: Самым низким приоритетом обладают стили, наследуемые в документе элементом от своих предков; Более высоким приоритетом обладают стили, заданные во внешних таблицах стилей, подключённых к документу; Ещё более высоким приоритетом обладают стили, заданные непосредственно селекторами всех десяти видов (см. подраздел «виды селекторов»), содержащимися в контейнерах style данного документа. Нередки случаи, когда к какому-нибудь элементу имеют отношение, задают его вид, несколько таких селекторов. Такие конфликты между ними разрешаются с помощью расчёта специфичности каждого такого селектора и применения этих селекторов к данному элементу в порядке убывания их специфичностей. При расчёте специфичности селектора принимается во внимание: количество идентификаторов (#id) в селекторе — ((1,0,0) за каждый объявленный идентификатор в селекторе правила CSS); количество классов (.class), атрибутов ([attr], [attr="value"]) и псевдоклассов (:pseudo-class) в селекторе — ((0,1,0) за каждый объявленный класс, атрибут и псевдокласс в селекторе правила CSS); количество элементов (h1, input) и псевдоэлементов (::pseudo-element) в селекторе — ((0,0,1) за каждый объявленный элемент и псевдоэлемент в селекторе правила CSS). Принцип расчёта таков, что, например, (1,0,0) будет иметь большую специфичность, соответственно — бо́льший приоритет, чем даже (0,10,0), (0,1,0) будет иметь большую специфичность, больший приоритет, чем (0,0,10). Если же рассчитанные таким образом специфичности окажутся одинаковыми, то к элементу будет применено правило, описанное селектором, расположенным в документе ниже других. Ещё более высоким приоритетом обладают стили, объявленные непосредственно в теге данного элемента посредством атрибута style этого тега; И наконец самым высоким приоритетом обладают стили, объявленные автором страницы или пользователем, с помощью сопроводительного слова !important. Если таких свойств несколько, то предпочтение отдаётся в первую очередь стилям, заданным пользователем, а для остальных свойств (которые будут являться задаваемыми автором страницы) потребуется определить их специфичности по принципам, описанным выше, и применять эти свойства в порядке убывания этих их специфичностей. |
|||
|
||||
lysyj |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 5.2.2014 Репутация: нет Всего: нет |
С наследованием понятно. Хотелось бы реализовать инкапсуляцию полиморфизм и обмен сообщениями между объектами. Как это сделать?
Это сообщение отредактировал(а) lysyj - 6.2.2014, 16:47 |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |