Спорные вопросы по CSS
212 повідомлень
#14 років тому
Всем привет =)Накопилось ряд вопросов.
1. Часто приходиться в ходе поддержке проекта прописывать в html свойства css (через style). Насколько это правильно? Не нужно ведь всегде создавать классы или id, когда это единичный случай, я правильно понимаю? Как ты обычно поступаешь/поступал?
2. Что лучше использовать - class/id? К примеру, если блок используется только один раз на странице. Как лучше в плане производительности (что быстрее)?
3. Что лучше: cufon или font-face?
1157 повідомлень
#14 років тому
Цитата ("MaratMaratMarat"):1. Часто приходиться в ходе поддержке проекта прописывать в html свойства css (через style). Насколько это правильно? Не нужно ведь всегде создавать классы или id, когда это единичный случай, я правильно понимаю? Как ты обычно поступаешь/поступал?
Все css-стили нужно писать в отдельном css-файле.
Писать css-стили прямо в коде совершенно не правильно.
Цитата ("MaratMaratMarat"):
2. Что лучше использовать - class/id? К примеру, если блок используется только один раз на странице. Как лучше в плане производительности (что быстрее)?
Этот вопрос здесь обсуждали. class - используется для оформления css, id используется для программирования на javascript.
Везде нужно использовать class, использования id нужно избегать.
Цитата ("MaratMaratMarat"):
3. Что лучше: cufon или font-face?
Универсальное работающее решение в разных браузерах использует и то и другое.
Поддержка шрифтов в разных браузерах реализована по-разному.
Многочисленные правильные способы вставки шрифтов публикуются периодически, потом с выходом новых версий браузеров
снова корректируются.
Эти все способы - некое сборище хаков, в котором важное значение имеет порядок строк и хаки для разных браузеров.
5330 повідомлень
#14 років тому
1. если мы говорим про страницу для временного функционала и стили страницы меньше, чем общий сss, то костыль можно сделать, а вообще что мешает сделать класс/стиль и прописать его в общую таблицу?2. классы для группы объектов, id для единичных. поиск по id в DOM быстрее
3. font-face более правильно, куфон - это костыль. хотя в целом счтаю, что использование левых шрифтов - это изврат.
1157 повідомлень
#14 років тому
Цитата ("ArtPro"):2. классы для группы объектов, id для единичных. поиск по id в DOM быстрее
Даже для единичных элементов стоит использовать class.
id нужно использовать только для javascript
Цитата ("ArtPro"):
поиск по id в DOM быстрее
Для javascript id быстрее, чем class. Поиск id в DOM применяется в javascript.
212 повідомлень
#14 років тому
По поводу первого пункта (вставка css в html). Имеется ввиду вставка style через аттрибут объекта html. К примеру, <img src = "some_iamge.png" style="margin-right: 30px" />Неужели для такой ситуации Вы пишите правила в css и создаете класс для этого?
1157 повідомлень
#14 років тому
Цитата ("MaratMaratMarat"):Неужели для такой ситуации Вы пишите правила в css и создаете класс для этого?
Именно так и нужно делать.
791 повідомлення
212 повідомлень
#14 років тому
Ясно. Все же по первому пункту сомнения есть. Не свосме понятно, зачем столько классов плодить, если это единичный случай, да и неужели секретарша полезет в css файл )) Зачем тогда придумали редакторы )) Я про этот случай и говорю. представьте на минуту, что имеется галлерея картинок, где каждый пункт спозиционирован индивидуально, цвета бордеров разные и пр. Будете писать в css файл?
327 повідомлень
#14 років тому
MaratMaratMarat, руководствуйся здравым смыслом, а не догмой.Зачем нужен общий CSS-Файл? Чтобы повторяемые стили объявлять единственный раз.Чтобы сэкономить на объёме передаваемых данных за счёт кэширования общей информации об оформлении. Если же элемент единственный в своём оформлении и не ожидается, что пользователь будет изо дня в день заходить на эту страницу им любоваться, то смысла выносить уникальное оформление в общий файл нет.
Следующий момент для принятия решения - удобство пользователя и разработчика. При современных каналах передачи данных экономия от кэширования десятка килобайт особой роли не играет по большому счёту. Если пользователю удобней задавать оформление через редактор в админке, сохраняющий изменения непосредственно в html-код - пусть будет.
212 повідомлень
#14 років тому
Цитата ("intelleks"):MaratMaratMarat, руководствуйся здравым смыслом, а не догмой.
Зачем нужен общий CSS-Файл? Чтобы повторяемые стили объявлять единственный раз.Чтобы сэкономить на объёме передаваемых данных за счёт кэширования общей информации об оформлении. Если же элемент единственный в своём оформлении и не ожидается, что пользователь будет изо дня в день заходить на эту страницу им любоваться, то смысла выносить уникальное оформление в общий файл нет.
Следующий момент для принятия решения - удобство пользователя и разработчика. При современных каналах передачи данных экономия от кэширования десятка килобайт особой роли не играет по большому счёту. Если пользователю удобней задавать оформление через редактор в админке, сохраняющий изменения непосредственно в html-код - пусть будет.
Вот я тоже так думаю. Просто хотел узнать мнения других технологов.
К примеру, вот ситуация посилання. Для обтекания img задается float: left прямо в html.
Я вот схожие ситуации имел ввиду. Помимо этого у картинки еще может и отступ быть, который не будет повтояртьяс у других картинок.
3195 повідомлень
#14 років тому
Цитата ("intelleks"):Если же элемент единственный в своём оформлении
Значит элемент не в общем стиле или же страница для служебного пользования. В первом случае - пересмотреть использование этого элемент на этой конкретной странице, во втором случае - верстайте как хотите.
Цитата ("MaratMaratMarat"):
К примеру, вот ситуация посилання. Для обтекания img задается float: left прямо в html.
Я вот схожие ситуации имел ввиду. Помимо этого у картинки еще может и отступ быть, который не будет повтояртьяс у других картинок.
Там, похоже, картинка была вставлена в визуальном редакторе девочкой-блондинкой-контент-менеджером. Так же, как и некоторые клиенты умудряются портить дизайн внедрением своих жирных зелёных надписей в новостях, например. В вёрстке это выглядит как <_span style="bold; green; 20px; underline;">привет, посетитель моего сайта!</_span> Просто потому, что у них есть возможность это сделать. Давайте искать хорошие примеры вёрстки, не нужно ссылаться на неудачные страницы, пусть и известных брендов.
6863 повідомлення
#14 років тому
Цитата ("MaratMaratMarat"):Неужели для такой ситуации Вы пишите правила в css и создаете класс для этого?
Зависит от щедрости заказчика

5330 повідомлень
#14 років тому
Цитата ("superkoder"):Даже для единичных элементов стоит использовать class.
??? есть логика + пожелания и стандарты верстки
Цитата ("MaratMaratMarat"):
К примеру, вот ситуация посилання. Для обтекания img задается float: left прямо в html.
Я вот схожие ситуации имел ввиду. Помимо этого у картинки еще может и отступ быть, который не будет повтояртьяс у других картинок.
можно сделать класс для таких картинок, а если везде отступы разные - это ненормально. если "разные" - это 2-3 вида, то одно дело, а если на каждой странице кто как хочет, то в целом от стройного дизайна сайта остается полная фигня.
Я вообще за настройку визуального редактора только на стандартизированные стили и баста.
1807 повідомлень
#14 років тому
Цитата ("superkoder"):Цитата (ArtPro):
2. классы для группы объектов, id для единичных. поиск по id в DOM быстрее
Даже для единичных элементов стоит использовать class.
id нужно использовать только для javascript
сто раз плюсую....сейчас объект единичный, завтра что-то там перепридумали, и продублировали его.....и, опа, - непорядок, два айди на странице, валидатор падает в обморок!.....а насчет скорости поиска - мнения есть разные, это не аксиома...да и вообще, когда разговор идет про скорость поиска, речь идет о джаваскрипте, а не о рендеринге
Цитата:
??? есть логика + пожелания и стандарты верстки
Какая такая логика говорит вам, что использование для текущего элемента id, а не класса, хоть что-то улучшит в вашей верстке? Не говорите ерунду. Чисто технически разницы ВООБЩЕ НЕТ. А вот ухудшить положение использование айдишника может...Соответственно, из двух зол выбираем меньшее.
Согласно абсолютно всем стандартам верстки, приветствуется использование классов. Использование айди ВОЗМОЖНО, но не более того.
Цитата ("MaratMaratMarat"):
По поводу первого пункта (вставка css в html). Имеется ввиду вставка style через аттрибут объекта html. К примеру, <img src = "some_iamge.png" style="margin-right: 30px" />
Неужели для такой ситуации Вы пишите правила в css и создаете класс для этого?
Лично я - да. Меня не убудет, а чистый html-код весьма нравится заказчикам и их программистам. Относится это не только к стилям в тегах, так же аккуратно надо вести табуляцию строк, не делать кучу пустых переносов строк, и так далее. Я с этим очень щепетилен, в итоге - я не комментирую код, вообще. Это просто не нужно, все и так ясно и понятно. Ни один заказчик еще не попросил внести комментарии.
Есть несколько случаев, когда приходится использовать стили прямо в теге, например для скругления углов у картинок с помощью css3. Ну тут уже просто по-другому никак на данный момент.
Цитата:
3. Что лучше: cufon или font-face?
@font-face однозначно удобнее и правильнее, но из-за косяков в Опере использование пока ограничено. Если надо просто подменить пару заголовков, то я не морочу голову и юзаю Куфон.