Comments 54
Хабр! Даешь раздел со сниппетами! в компанию к Q&A
+11
А еще с подборками :)
0
Вполне можно использовать github:gist. У каждого свои сниппеты, и как-то из кучи искать нужное — это странно. Допустим многие используют normalize.css вместо «ластика».
+1
Все конечно замечательно, но есть несколько НО:
1. html { height: 101%; } /* always display scrollbars */ — не всегда полезно, и нужно…
2. "Классы для упрощения верстки" — такие классы лучше использовать совместно с LESS.js, т.к. не вижу смысла делать верстку с
.float-left /* Or whatever name you like */ {
float: left;
}
Тоже самое относится и к "Сниппеты дизайна"
3. "CSS3 градиенты" — если уж пишите про градиенты, то лучше дать ссылки на популярные генераторы градиентов, нежели каждый раз ручками править данный код, либо на пример использования этого кода в LESS.js
И вообще у Вас четко виден LESS.js на картинки в начале топика, но внутри ничего про него нет…
1. html { height: 101%; } /* always display scrollbars */ — не всегда полезно, и нужно…
2. "Классы для упрощения верстки" — такие классы лучше использовать совместно с LESS.js, т.к. не вижу смысла делать верстку с
.float-left /* Or whatever name you like */ {
float: left;
}
<ul>
<li class="float-left"></li>
<li class="float-left"></li>
<li class="float-left"></li>
</ul>
Тоже самое относится и к "Сниппеты дизайна"
3. "CSS3 градиенты" — если уж пишите про градиенты, то лучше дать ссылки на популярные генераторы градиентов, нежели каждый раз ручками править данный код, либо на пример использования этого кода в LESS.js
И вообще у Вас четко виден LESS.js на картинки в начале топика, но внутри ничего про него нет…
+3
может я чего-то не понимаю, но почему для сброса стилей не использовать специально обученный универсальный селектор? Зачем всё-то перечислять?
+2
Вы про *?
0
И у меня возник тот же вопрос.
И да речь идет о звездочке *, почему не использовать вместо простыни перечисления?
И да речь идет о звездочке *, почему не использовать вместо простыни перечисления?
+1
Ну, вот тут говорят о производительности. В общем-то о ней и я в первую очередь задумался. Но сейчас уже не уверен что быстрее. Опять таки зависит, наверное. и от количества перечислений. В общем, интересно было бы взглянуть на тесты.
0
А такой уже существует? ибо насколько мне известно, все используют несколько наборов CSS Reset, они в принципе идентичны, и выполняют свою роль. А именно:
Самый популярный это Eric Meyer's CSS reset,, есть так же YUI CSS Reset, и множество идентичных вариаций
Так же существует Normalize.css — a modern, HTML5-ready alternative to CSS resets — and further base styles, helpers, media queries, and print styles.
apply standard rules to elements, and eliminate cross-browser inconsistencies.
Самый популярный это Eric Meyer's CSS reset,, есть так же YUI CSS Reset, и множество идентичных вариаций
Так же существует Normalize.css — a modern, HTML5-ready alternative to CSS resets — and further base styles, helpers, media queries, and print styles.
+1
потому что есть элементы которые обнулять не надо. Например button.
+4
Хм, почему? Я просто всегда считал, что надеяться на выставленные значения отступов для каких-либо элементов не стоит. Поэтому всегда сбрасываю всё и выставляю то, что мне нужно. Может, я отстал от жизни, но я не понимаю, чем плох такой подход? Вроде абсолютно универсален… Ткните может носом в статью, где расписано зачем городить огород из перечисления всех тегов.
0
Как минимум селектор "*" дико медленный, так как заставляет проверять ВСЕ элементы DOM дерева. С другой стороны у вас есть куча элементов для которых отступы не заданы (span, a, div, section, article, aside....).
Я последние года два вообще не использую ресеты, только нормализаторы.
Я последние года два вообще не использую ресеты, только нормализаторы.
+4
Вот это уже аргумент, да. Хотя интересно было бы посмотреть сравнения между использованием * для ненаследуемых + задание наследуемых свойств через body и собственно разными ресетерами, обеспечивающими тот же функционал. Я пока нашёл только сравнение по скорости с * и без *, но и без доп. стилей.
+1
На статике это особо значения не имеет, но если у вас динамическая система, в которой относительно часто идет вставка элементов в DOM, то тут уже можно и поэкономить.
А вообще профайлером легко можно оценить скорость работы различных селекторов. У меня при тестах звездочка отрабатывала раза в 4 медленнее все остальных селекторов.
А вообще профайлером легко можно оценить скорость работы различных селекторов. У меня при тестах звездочка отрабатывала раза в 4 медленнее все остальных селекторов.
0
В вебе сейчас есть множество на порядок более медленных вещей, чем этот несчастный селектор.
Узким местом он точно не является.
Узким местом он точно не является.
+1
Помимо того, что " * " обнуляет стили с тегов, которые не нужно обнулять, вы еще потом эти стили возвращаете, делая двойную работу и для себя и для браузера.
Как я понимаю, вы обнуляете через " * " отступы? Но ведь есть и другие вещи, которые было бы полезнно обнулить, или привести к единому, кросс-браузерному виду.
Я считаю, что самое лучшее решение, это комбинированный подход normalize + reset.css + собственный опыт. Ресет нужно делать под себя, и свой стиль написания кода.
Как я понимаю, вы обнуляете через " * " отступы? Но ведь есть и другие вещи, которые было бы полезнно обнулить, или привести к единому, кросс-браузерному виду.
Я считаю, что самое лучшее решение, это комбинированный подход normalize + reset.css + собственный опыт. Ресет нужно делать под себя, и свой стиль написания кода.
+1
.ir {
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
как-то эта штука не особо торопится скрывать элементы
0
UFO just landed and posted this here
Вот за подобные комментарии я и сохраняю статьи в избранное :)
+5
Пора делать возможность добавлять комментарии в избранное, а то автор может подумать что его работу ценят, и будет продолжать плодить кака-посты.
-1
Указание type=«text/css» для link является обязательным для html 4.01 strict (хотя в html5 уже можно не указывать).
Ну это так, к слову.
Ну это так, к слову.
0
UFO just landed and posted this here
Ну хоть один расписал ад этой «несомненно полезной» статьи.
0
*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Это, видимо отсюда paulirish.com/2012/box-sizing-border-box-ftw/
Смысл в этом есть, но к этому нужно привыкнуть, так же, как привыкали когда-то при переходе с таблиц на дивы. А * да- влияет на производительность.
+1
Спасибо. Вы спасли меня от глупостей.
0
Уважаемый grokru, пожалуйста прекратите заниматься тупой копипастой, не приводя испольуемый вами материал к актуальному состоянию с точки зрения современных техник и тенденций. И если уж занимаетесь переводами, то используйте хотя бы в качестве первоисточников издания, заслуживающие доверия (к css-tricks претензий нет, а вот другие два источника вызывают большие сомнения).
+10
Бóльшая часть описанных здесь проблем уже решена в HTML5 Boilerplate, причём без костылей. Так и проще, и надёжнее, чем каждый раз собирать сниппеты.
+3
Для классов .hide и .show лучше использовать visibility:hidden; и visibility: visible; соответственно, т.к. display: block; не только влияет на видимость, а и указывает, что элемент является блочным.
-1
А visibility: hidden оставляет блок в общем потоке.
0
Для этих случаев можно просто переопределить стили. Например
a.show { display:inline; } и т.д. Тут все зависит от задачи.
a.show { display:inline; } и т.д. Тут все зависит от задачи.
0
Правильно display: auto;
Таким образом мы определим правильное значение по умолчанию для каждого типа элемента
Таким образом мы определим правильное значение по умолчанию для каждого типа элемента
0
Нет такого свойства как display: auto;
0
Я ошибся. Можно только с JS-фреймворками.
Например для jQuery:
сбросит на значение по умолчанию для этого элемента.
Источник: stackoverflow.com/questions/6556994/css-display-auto/6557005#6557005
Например для jQuery:
$('#element').css('display','');
сбросит на значение по умолчанию для этого элемента.
Источник: stackoverflow.com/questions/6556994/css-display-auto/6557005#6557005
0
UFO just landed and posted this here
Называть классы .hide и .show — неверно, т.к. это глаголы. Глаголы используются для обозначения действий, а не состояний (например, в именах JS-функций).
А имя класса должно быть существительным, прилагательным или причастием. В данном случае .hidden
А имя класса должно быть существительным, прилагательным или причастием. В данном случае .hidden
+2
UFO just landed and posted this here
На картинке изображён LESS, в заголовке говорится про CSS, а статья просто предлагает HTML-сниппеты.
Вот — настоящие сниппеты для LESS:
http://lesselements.com/
Удобно и не усложняет код. Оригинальный проект уже год не обновлялся, но форков достаточно для выбора. У меня самого есть один со множеством новых фич и упрощений.
Вот — настоящие сниппеты для LESS:
http://lesselements.com/
Удобно и не усложняет код. Оригинальный проект уже год не обновлялся, но форков достаточно для выбора. У меня самого есть один со множеством новых фич и упрощений.
0
Sign up to leave a comment.
Базовые стили и полезные CSS-сниппеты