SelenIT

Эксперт
  • Публикации

    4 237
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    126

Последний раз SelenIT выиграл 13 мая

Публикации SelenIT были самыми популярными!

Репутация

972 Хорошая

О SelenIT

  • Звание
    глюк

Контактная информация

  • Web site
    http://css-live.ru/
  • ICQ
    0

Информация

  • Пол
    Мужчина

Посетители профиля

16 342 просмотра профиля
  1. Из метрик шрифта.
  2. Придумался только вариант с фоновой картинкой. И то только для новых браузеров.
  3. Зачем??? В преддверии 2017-го года-то?.. И вопрос вроде был про радиальный градиент, а не про линейный.
  4. Вот такие музейные экспонаты любят заводиться только в IE, причем только в режиме обратной совместимости.
  5. Припоминаю, был у вымерших IE такой баг, что :active фактически работал как :focus (a :focus, ЕМНИП, вообще толком не работал). Как быстрый костыль, могу предложить любое-ненужное-свойство: expression(this.onFocus=this.blur()); (источник). Нормальные браузеры проигнорят, а этот zombie сможет наконец у(с)покоиться...
  6. Возможно, у вас не «фон не срабатывает», а сама высота не учитывает содержимое элемента. Так бывает, например, если это содержимое — float-ы, а блоку не задан ни .clearfix, ни какое-либо из свойств, создающих отдельный блочный контекст форматирования (display: inline-block/table/table-cell, overflow:hidden/auto, само float).
  7. <div class="left"> <p style="padding-bottom:110px;">Телефон:</p> <p>E-mail:</p> </div> <div class="right"> <p>095 432 02 95</p> <p>063 296 89 61</p> <p>067 910 58 62</p> <p class="mail"><a href="viber://chats">viber://tel: +380632968961</a></p> <p class="mail"><a href="mailto:mebel-studio@kh.ua">mebel-studio@kh.ua</a></p> </div> Не надо так. Как бедный поисковик или читалка с экрана голосом поймет, что первые четыре абзаца справа — телефоны? Подписи и то, что они обозначают, должны быть сгруппированы вместе и идти последовательно.
  8. Для электрика в селе вставить одну обычную button в отдельную последнюю ячейку tr-ки, как деды еще делали. А для столичных хипстеров кнопку спрятать и навесить на всю tr обработчик клика с тем же действием, и все будут довольны. Прогрессивное улучшение называется! А «в лоб» задать кнопке табличное или еще какое-то хитрое отображение, увы, вряд ли выйдет, тем более кроссбраузерно. По-моему, без скрипта тут никак особо не выкрутиться.
  9. Может, если важно именно построчное совпадение, есть смысл делать банально таблицей — строчка оригинала, строчка перевода?
  10. На самом деле зависит от свойства. Бывают наследуемые свойства и ненаследуемые. Display — ненаследуемое. При display:flex и будущем (как минимум в Firefox 52+ и Chrome 57+) display:grid к непосредственным потомкам такого контейнера применяются особые правила, это да. Но само свойство не наследуется, так что если надо разместить флекс-контейнер во флекс-контейнере, внутреннему блоку всё равно тоже надо будет явно указать display:flex.
  11. Точнее, :not как раз не игнорируется, просто селектор становится бессмысленным и ничего не выбирает (хотя формально валиден). Такие заведомо ничего не затрагивающие, но формально валидные фиктивные селекторы могут быть полезны в хаках для конкретных браузеров, типа #hack:not(#hack):-moz-any-link, .my-selector { /* стили применятся только в браузерах, понимающих :-moz-any-link, т.е. в Мозилле */ }
  12. Не обязательно, :not(.что-то) без указания тега равнозначно *:not(.что-то), соответствует любому тегу, не имеющему класса .что-то. По сути да. Между .q1 и целевым li, кроме ul.q77, есть еще один ul — .q2. Поэтому формально условие селектора «внутри какого-нибудь ul без класса .q77, находящегося внутри .q1» выполняется.
  13. Возможно, испорченный телефон донес обрывок разговора, касающегося экстремальной оптимизации анимаций и прочего, типа такого. А вообще для новых проектов рекомендуют флексбокс, в том числе по соображениям скорости (к сожалению, русская версия документа по ссылке сильно отдает «надмозгом», по возможности лучше читать оригинал). Ближайшей весной в большинстве браузеров станет доступна грид-раскладка, так что есть смысл уже сейчас ее осваивать. А насчет адаптивного и отзывчивого неплохо разъясняется в этой статье. Но на практике, по-моему, этими тонкостями сейчас меньше заморачиваются. Главное, чтобы для как можно большего количества пользователей информация оставалась доступной, а интерфейс юзабельным, а уж какими средствами это достигается — вопрос второстепенный. Кстати, доступность (ARIA-атрибуты и т.п.) — тоже довольно актуальный тренд.
  14. Другими словами, псевдоклассы — это как бы классы (но не классы) для существующих элементов. А псевдоэлементы — это как бы элементы (но не элементы) помимо существующих элементов. В будущем стандарте будет чуть сложнее, но общий принцип тот же:)
  15. Во-первых, это не псевдоэлементы, а псевдоклассы. Их может быть много, но любой псевдокласс применяется к тому элементу, для которого написан. Во-вторых, :not() в CSS Selectors 3 и большинстве браузеров принимает только простой селектор (т.е. либо один тег, либо один класс, либо один псевдокласс, либо один id). Сложные селекторы в :not() появились только в CSS Selectors 4 и работают пока только в Safari 9+. Смысл записи .q1 li:first-child .q2 li:hover:not(.q77 li) я понимаю как "элемент li под курсором, находящийся где угодно внутри элемента с классом q2, находящегося где угодно внутри первого элемента li где угодно внутри элемента с классом q1, и при этом не имеющего предка с классом q77". Для частного случая в примере, когда .q77 появляется внутри .q2 (т.е. стиль должен применяться к любым li внутри .q2, кроме ), можно сделать что-то типа такого: .q1 li:first-child .q2 > li:hover, .q1 li:first-child .q2 :not(.q77) li:hover { /* стили для li непосредственно в .q2 или через любые прослойки, кроме .q77 */ Если же обертка с классом .q77 может быть где угодно на любом уровне, то всё сложно. Нужно или явно перечислить все возможные варианты вложенности с ее участием, или вообще сделать иначе. Например, искусственно поднять специфичность подобным хаком: .q77 li:not(#non-existent-ID) { /* хак для поднятия специфичности выше любой комбинации классов, но ниже !important */ /* переопределяем обратно на обычные стили для li */ } Но еще лучше по возможности не привязываться ко вложенности тегов вообще. Тем более тут всё равно ведь для каждого уровня меню задействован свой класс.