Старый 13.04.2010, 11:20   #1   
Форумец
 
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 38

a_drew вне форума Не в сети
css наследование

Вопрос на 5
Может кто сталкивался в каких-нибудь фреймворках или видел какое-нибудь оригинальное решения для реализации css-наследования в стиле ООП?

Вкратце объясню в чем суть. Есть у нас сайт. У сайта есть какой-то общий стиль. Я имею в виду, например, общие цвета, используемые в оформлении текста, элементов, чего-угодно. И хотелось бы сделать что-то типа такого:
.red {color:#f33;}
a extends .red {text-decoration:underline;}
и получаем конечный стиль:
a {text-decoration:underline; color:#f33;}
Или, например, стили для того же IE:
.inline {display:inline;}
а потом его просто везде расширять. Ну и т.д.
  Ответить с цитированием
Старый 13.04.2010, 12:43   #2   
mutafakaz
 
Аватар для Alex Klimov
 
Сообщений: 5,601
Регистрация: 09.11.2002
Записей в дневнике: 104

Alex Klimov вне форума Не в сети
a_drew, ты это где спросил вообще? ща те тут все расскажут про наследование...
  Ответить с цитированием
Старый 13.04.2010, 13:38   #3   
Форумец
 
Сообщений: 3,705
Регистрация: 02.08.2006

svga вне форума Не в сети
Цитата:
Сообщение от a_drew Посмотреть сообщение
видел какое-нибудь оригинальное решения для реализации css-наследования в стиле ООП?
....
а потом его просто везде расширять. Ну и т.д.
сначала это оригинальное решение напрочь потеряет кроссбраузерность при расширении, а уже потом все так перенаследуется, что концов для внесения малейших изменений - будет нереально найти.
  Ответить с цитированием
Старый 13.04.2010, 13:47   #4   
Форумец
 
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 38

a_drew вне форума Не в сети
svga, во-первых, это может быть реализовано не только и не столько за счет браузера, сколько за счет какого-нибудь "пре-обработчика".
Во-вторых, в ООП все наследуется и пока никто не запутался. Так что я не думаю, что это актуальный недостаток. Ведь пока что в стандартной реализации каскадности стилей никто не запутался. Просто на мой взгляд это не очень удобно.
  Ответить с цитированием
Старый 13.04.2010, 14:01   #5   
Форумец
 
Сообщений: 3,705
Регистрация: 02.08.2006

svga вне форума Не в сети
Цитата:
Сообщение от a_drew Посмотреть сообщение
svga, во-первых, это может быть реализовано не только и не столько за счет браузера, сколько за счет какого-нибудь "пре-обработчика".
во-первых, абсолютно бессмыслено предполагать как это будет реализовано, конечная станция = браузер. я даже больше напишу - это разные браузеры.

Цитата:
Сообщение от a_drew Посмотреть сообщение
Во-вторых, в ООП все наследуется и пока никто не запутался. Так что я не думаю, что это актуальный недостаток.
а я на практике могу показать примеры, когда все верно, без всяких запутываний, но каг бэ - не работает на практике.
вернее, в силу отсутствия унификации вжевывания браузерами инструкций, отображают они всякие мудрено наследуемые ссs темы скажем так - разнообразно.
  Ответить с цитированием
Старый 13.04.2010, 14:48   #6   
Форумец
 
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 38

a_drew вне форума Не в сети
svga, вы. по-моему, больше написали о том, что браузеры по разному осуществляют рендеринг страниц и интерпретируют стили. Я с вами в этом абсолютно согласен.
Только я спросил своем о другом.
  Ответить с цитированием
Старый 13.04.2010, 14:53   #7   
Наночлен
 
Аватар для DRON-ANARCHY
 
Сообщений: 30,595
Регистрация: 06.09.2006
Возраст: 36

DRON-ANARCHY вне форума Не в сети
Я может неправильно тему понимаю, но в CSS наследования как такового нет. Можно просто указывать несколько классов для одного элемента через пробел.
например
Цитата:
.red {color: #f33;}
.bold {font-size: 20px;}

<p class="red bold">жажажа</p>
выведет красную "жажу" размером 20px

То есть в вашем примере вы можете завести себе классы
.red {color:#f33;}
.underline {text-decoration:underline;}

И прописать следующее <a href="#" class="red underline">блаблабла</a>
Будет заявленный в первом посту эффект
  Ответить с цитированием
Старый 13.04.2010, 15:48   #8   
xxCENSOREDxx
 
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 44

alemiks вне форума Не в сети
Таких поделок море, самая известная http://lesscss.org/
  Ответить с цитированием
Старый 13.04.2010, 16:11   #9   
Форумец
 
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 38

a_drew вне форума Не в сети
Во, это уже ближе к реальности. Спасибо!
А он на руби что ли?
  Ответить с цитированием
Старый 13.04.2010, 16:25   #10   
xxCENSOREDxx
 
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 44

alemiks вне форума Не в сети
Цитата:
Сообщение от a_drew Посмотреть сообщение
А он на руби что ли?
Да, на и на пхп полно: http://interfacelab.com/variables-in-css-via-php/ , http://davidwalsh.name/css-variables-php-dynamic. Есть и для asp.net
погугли variables in css
  Ответить с цитированием
Старый 13.04.2010, 16:48   #11   
Форумец
 
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 38

a_drew вне форума Не в сети
alemiks, я так понимаю, что вы ими уже давно пользуетесь. Ну как они вам? Пользуетесь?
  Ответить с цитированием
Старый 13.04.2010, 17:15   #12   
xxCENSOREDxx
 
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 44

alemiks вне форума Не в сети
a_drew, нет, упоминали на хабре как-то. Я предпочитаю верстать по-старинке
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind