Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2011, 15:51
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

имена классов в html верстке
навалял года полтора назад статейку. сейчас обновил , дополнил умосоображениями. выделил понятие обьект и элемент. обосновал зачем нужны префиксы и уточнил их роль.

известным аналогом является БЭМ . на текуший момент основные отличия это другие "разделители", подход к префиксам, также отличается понятие модификатор.

в сочетании с domMaster и css_стилей в js коде (пример) получается убойная штука.
__________________
лучшая rss читалка zzreader.com

Последний раз редактировалось vflash, 31.10.2011 в 15:30.
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2011, 02:51
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

вообще, для меня основное преимущество подобных подходов - упрощение поддержки, т.е. поменьше наследования и связей. Вот недавно понял, что лучше написать отдельные стили для нескольких контейнеров, пусть и похожих, чем сделать один компонент, который учитывает все варианты. Дизайнеры, они ведь такие люди, что обязательно скажут: "А вот здесь пожалуйста на 1px больше" От префиксов сейчас решил попробовать отказаться, по-моему они не дают значительной выгоды. Для имен использую camelCase (имяКомпонента-имяЭлемената), да и вообще на клиентской стороне - в результате проще искать по проекту. И собственно по этой же причине идея с дефисом в именах мне больше всего не нравится, в этом случае vim считает такое имя, состоящим из нескольких слов.

Сообщение от vflash
в сочетании с domMaster и css_стилей в js коде (пример) получается убойная штука.
в чем убойность? Мне такой вариант больше нравится

Последний раз редактировалось x-yuri, 29.09.2011 в 02:54.
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2011, 11:30
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Сообщение от x-yuri
Дизайнеры, они ведь такие люди, что обязательно скажут: "А вот здесь пожалуйста на 1px больше"
на нужные элементы компонента добавляются специальные классы и они уже модифицируют компанет. те компанент должен учитывать возможность модификации. если же нужен ну совсем уникальные свойства то лучше создать совсем другой компанент, так сказать сделать форк. но чем больше однотипных компонентов в проекте тем поддержка его будет по времени дольше чем если ограничить себя рамками и делать более универсальный.

Сообщение от x-yuri
От префиксов сейчас решил попробовать отказаться
префиксы нужны хотябы для того чтобы отличить какрас те классы (описал выше) которые модифицируют компонента. еше классы без префиксов использую только для связки с полным именем"
<style>
    .b-project_ubutton--icon .icon {....}
</style>
<button class="b-project_ubutton b-project_ubutton--icon">
    <span class="b-project_ubutton-icon icon">..</span>
</button>.

но это на этапе разработке а позже ".icon" привожу по возможности к полной форме
<style>
    .b-project_ubutton--icon .b-project_ubutton-icon {....}
</style>
<button class="b-project_ubutton b-project_ubutton--icon">
    <span class="b-project_ubutton-icon">..</span>
</button>

естественно такое можно делать только с соблюдением "независимости блока"
так что префиксы полезны. да и потом в проекте всегда присутствуют чтота не из этой схемы и префикс упрощает идентифицировать эти моменты
__________________
лучшая rss читалка zzreader.com

Последний раз редактировалось vflash, 29.09.2011 в 17:52.
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2011, 07:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну смотри, есть две крайности: абсолютная универсальность и отсутствие связей вообще. Реальность где-то между, причем если и можно найти среднее арифметическое, всем оно не подойдет. Мне сейчас мешают связи, поэтому я от них избавляюсь.
Ответить с цитированием
  #5 (permalink)  
Старый 10.10.2011, 15:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

вообще, наверное, в первую очередь дело в том, что я решил сделать для форм какой-то общий стиль. А потом пожалел. Но в любом случае, я модификаторами почти не пользуюсь, посмотрим...
Ответить с цитированием
  #6 (permalink)  
Старый 10.10.2011, 15:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

... пример придумал, в контакте есть информация о пользователе (имя: ..., университет: ..., город: ...) в списке пользователей и на страничке профайла. Ты бы сделал это отдельным компонентом?
Ответить с цитированием
  #7 (permalink)  
Старый 10.10.2011, 16:45
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

лакировка. теперь "компонент" называют "объектом" это слово хорошо вписывается и в интернете встречается.

если подобная структура встречается в разных объектах то стоит выделить ее в новый объект, ито не факт что стоит. а там вроде такое встречается только в одном месте и сам по себе конструкция небольшая. яб не выделял в новый обьект.

каждый случай индивидуален. создавать слишком большие объекты не оправданно это точно можно сказать. Потому как вся суть заключается в том чтоб арбуз сперва разрезать и по кусочкам съесть, а не все за рас.
Вот насколько тонко резать ломтики это кто как умеет и кому как нравиться.
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #8 (permalink)  
Старый 10.10.2011, 22:11
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

там минимум три места похожих: в списке друзей, в поиске и на странице профайла, причем на странице профайла расстояние между строками чуть больше. Но вообще да, это какие-то неважные детали. Хотя я на самом деле собирался спросить, одним бы ты компонентом ты это сделал или двумя.

а слово объект по-моему не подходит: оно более общее и не обязательно обозначает что-то визуальное. Да и подобных названий и так много: элемент, виджет, компонент. Зачем еще одно?
Ответить с цитированием
  #9 (permalink)  
Старый 11.10.2011, 00:04
Профессор
Отправить личное сообщение для Seva1986 Посмотреть профиль Найти все сообщения от Seva1986
 
Регистрация: 01.10.2011
Сообщений: 422

vflash,


А есть ссылка на какойнибудь готовый сайт с использованием этого приёма?

я по коду лучше пойму....
Ответить с цитированием
  #10 (permalink)  
Старый 11.10.2011, 02:31
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

x-yuri,
<div class="clear_fix miniblock">
  <div class="label fl_l">Любимые игры:</div>
  <div class="labeled fl_l">...</div>
</div>

если речь об этом то там вроде только в одном месте. потому не стал бы делать новый объект. можно выделить в отдельный объект а не понравиться потом слить обратно, и это нормально.

Сообщение от x-yuri
а слово объект по-моему не подходит: оно более общее и не обязательно обозначает что-то визуальное. Да и подобных названий и так много: элемент, виджет, компонент. Зачем еще одно?
объект уже употреблялся для верстки как "ОПП верстка", потому решил что лучше не плодить термины. нет такой проблемы как у БЭМ. в БЭМ это блок, а блок уже давно употребляется в верстке как div элемент или display:block; . у меня както с этим путаница, потому не нравиться их термин.

Seva1986, можно смотреть у яндекса к примеру. только нужно учитывать что там другой стиль наименования классов, термины чуть по другому. а принципы тежи, разбить на небольшие обьекты и верстать их по отдельности. и еше к примеру верстка прошлых лет немного отличается от того что сейчас верстают, потому как методика развивается. и это тоже нужно учитывать.

тут мои
http://vflash.ru/xm/dev.html
http://mail.rambler.ru/m/beta/#/contacts
есть еше но не покажу.
__________________
лучшая rss читалка zzreader.com

Последний раз редактировалось vflash, 20.10.2011 в 21:10.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание HTML страниц Sportlife89 (X)HTML/CSS 7 03.06.2011 15:04
Передача кода HTML Владимир Седов Общие вопросы Javascript 2 12.04.2011 16:48
кеширование HTML переданого через ajax BorisBritva jQuery 6 02.04.2011 01:23
Как с помощью PHP сохранить какие-либо изменения в HTML документе? FirstFrost Общие вопросы Javascript 1 15.07.2010 17:12
Динамические html элементы sky Элементы интерфейса 2 07.03.2010 11:58