nepilsonis (
nepilsonis) wrote2009-12-16 11:30 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Entry tags:
(no subject)
«Selectors Level 3»
W3C Proposed Recommendation 15 December 2009
(http://www.w3.org/TR/css3–selectors/)
Вычисляемые селекторы — это очень, очень круто.
Например, раскрасить строчки в разные цвета можно будет так:
А сейчас для этого же нужно создать 4 разных стиля, и каким–то скриптом каждой строке по запрограммированному правилу назначить класс нужного цвета.
Вот этот код сделает так, что первая буква каждого параграфа будет в 2 раза крупнее остальных:
общая часть:
новый код:
старый код:
Обратите внимание, что в новом варианте управляющие коды не перемешиваются с текстом.
W3C Proposed Recommendation 15 December 2009
(http://www.w3.org/TR/css3–selectors/)
Вычисляемые селекторы — это очень, очень круто.
Например, раскрасить строчки в разные цвета можно будет так:
/* Alternate paragraph colours in CSS */ p:nth–child(4n+1) { color: navy; } p:nth–child(4n+2) { color: green; } p:nth–child(4n+3) { color: maroon; } p:nth–child(4n+4) { color: purple; }
А сейчас для этого же нужно создать 4 разных стиля, и каким–то скриптом каждой строке по запрограммированному правилу назначить класс нужного цвета.
Вот этот код сделает так, что первая буква каждого параграфа будет в 2 раза крупнее остальных:
общая часть:
p { color: red; font–size: 12pt } p::first–letter { color: green; font–size: 200% } p::first–line { color: blue }
новый код:
<P>Some text that ends up on two lines</P>
старый код:
<P> <P::first–line> <P::first–letter> S </P::first–letter>ome text that </P::first–line> ends up on two lines </P>
Обратите внимание, что в новом варианте управляющие коды не перемешиваются с текстом.
no subject
Определяешь шаблон:
$BackgroundColor { color: blue }
А потом используешь его где надо:
p { color: $BackgroundColor }
no subject
no subject
no subject
1. у тебя неправильное наследование в цсс. Надо, чтобы поменял в 1, и всё завертелось
2. Ну, да, именно так. Поменяй, и новый цсс создай. И переключай. А если тебе надо, чтобы постоянно можно было менять - то это уже, вроде, и не цсс. Точнее - это просто динамическая генерация страницы, хоть и с цсс.
no subject
no subject
Или мы разное называем шаблонами. Я сейчас про css, а ты, похоже, про какую-то систему динамической генерации контента? какое-то smarty?
no subject
А в реальных живых системах могут быть десятки файлов CSS, в каждом из которых сотни тэгов. И если мне там надо поменять "всё зелёное", но не вообще все, а только в определенных тэгах или в определенных местах сайта, то это просто жопа. А вот если бы во всех этих местах вместо явно заданного цвета стояло имя шаблона, я бы просто поменял в самом шаблоне один цвет на другой и все.
no subject
При необходимости что-то заменить, меняете в исходниках и прогоняете заново, получая исправленный вариант без лишнего геммороя.
Я похожим образом когда-то, лет 10 назад, делал многостраничный статический сайт, заказчику была нужна статика без скриптов и бд - написал его на php, вместо 40 страниц - один скрипт и данные в mysql. А потом "выкачивал" телепортом и то что скачалось выдавал заказчику как результат.
no subject
Несколько лет назад я работал в компании, где мы разрабатывали большую информационную интернет-систему, состоящую из нескольких связанных сайтов. И к ней же требовалось прикрутить внутренний портал для разработчиков и администраторов. Был куплен сторонний портал, соответствующий куче поставленных условий. По сути это было готовое ASP.NET приложение. Но, при этом, оно было "из коробки", уже откомпилированное и без исходников. А дизайн его задавался как раз полутора десятками CSS-файлов со многими десятками а то и сотнями тэгов внутри. И, чтобы сделать этот портал по дизайну похожим на нашу систему, чтобы визуально они составляли одно целое, мне лично пришлось перелопачивать эти CSS-файлы и вручную менять в них сотни разных тэгов.
Вот такая история. :)
no subject
И, кстати, в целом довольно успешно выходит.
no subject
no subject