SelenIT

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

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

  • Посещение

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

    126

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

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

Репутация

971 Хорошая

О SelenIT

  • Звание
    глюк

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

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

Информация

  • Пол
    Мужчина

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

16 209 просмотров профиля
  1. Зачем??? В преддверии 2017-го года-то?.. И вопрос вроде был про радиальный градиент, а не про линейный.
  2. Вот такие музейные экспонаты любят заводиться только в IE, причем только в режиме обратной совместимости.
  3. Припоминаю, был у вымерших IE такой баг, что :active фактически работал как :focus (a :focus, ЕМНИП, вообще толком не работал). Как быстрый костыль, могу предложить любое-ненужное-свойство: expression(this.onFocus=this.blur()); (источник). Нормальные браузеры проигнорят, а этот zombie сможет наконец у(с)покоиться...
  4. Возможно, у вас не «фон не срабатывает», а сама высота не учитывает содержимое элемента. Так бывает, например, если это содержимое — float-ы, а блоку не задан ни .clearfix, ни какое-либо из свойств, создающих отдельный блочный контекст форматирования (display: inline-block/table/table-cell, overflow:hidden/auto, само float).
  5. <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> Не надо так. Как бедный поисковик или читалка с экрана голосом поймет, что первые четыре абзаца справа — телефоны? Подписи и то, что они обозначают, должны быть сгруппированы вместе и идти последовательно.
  6. Для электрика в селе вставить одну обычную button в отдельную последнюю ячейку tr-ки, как деды еще делали. А для столичных хипстеров кнопку спрятать и навесить на всю tr обработчик клика с тем же действием, и все будут довольны. Прогрессивное улучшение называется! А «в лоб» задать кнопке табличное или еще какое-то хитрое отображение, увы, вряд ли выйдет, тем более кроссбраузерно. По-моему, без скрипта тут никак особо не выкрутиться.
  7. Может, если важно именно построчное совпадение, есть смысл делать банально таблицей — строчка оригинала, строчка перевода?
  8. На самом деле зависит от свойства. Бывают наследуемые свойства и ненаследуемые. Display — ненаследуемое. При display:flex и будущем (как минимум в Firefox 52+ и Chrome 57+) display:grid к непосредственным потомкам такого контейнера применяются особые правила, это да. Но само свойство не наследуется, так что если надо разместить флекс-контейнер во флекс-контейнере, внутреннему блоку всё равно тоже надо будет явно указать display:flex.
  9. Точнее, :not как раз не игнорируется, просто селектор становится бессмысленным и ничего не выбирает (хотя формально валиден). Такие заведомо ничего не затрагивающие, но формально валидные фиктивные селекторы могут быть полезны в хаках для конкретных браузеров, типа #hack:not(#hack):-moz-any-link, .my-selector { /* стили применятся только в браузерах, понимающих :-moz-any-link, т.е. в Мозилле */ }
  10. Не обязательно, :not(.что-то) без указания тега равнозначно *:not(.что-то), соответствует любому тегу, не имеющему класса .что-то. По сути да. Между .q1 и целевым li, кроме ul.q77, есть еще один ul — .q2. Поэтому формально условие селектора «внутри какого-нибудь ul без класса .q77, находящегося внутри .q1» выполняется.
  11. Возможно, испорченный телефон донес обрывок разговора, касающегося экстремальной оптимизации анимаций и прочего, типа такого. А вообще для новых проектов рекомендуют флексбокс, в том числе по соображениям скорости (к сожалению, русская версия документа по ссылке сильно отдает «надмозгом», по возможности лучше читать оригинал). Ближайшей весной в большинстве браузеров станет доступна грид-раскладка, так что есть смысл уже сейчас ее осваивать. А насчет адаптивного и отзывчивого неплохо разъясняется в этой статье. Но на практике, по-моему, этими тонкостями сейчас меньше заморачиваются. Главное, чтобы для как можно большего количества пользователей информация оставалась доступной, а интерфейс юзабельным, а уж какими средствами это достигается — вопрос второстепенный. Кстати, доступность (ARIA-атрибуты и т.п.) — тоже довольно актуальный тренд.
  12. Другими словами, псевдоклассы — это как бы классы (но не классы) для существующих элементов. А псевдоэлементы — это как бы элементы (но не элементы) помимо существующих элементов. В будущем стандарте будет чуть сложнее, но общий принцип тот же:)
  13. Во-первых, это не псевдоэлементы, а псевдоклассы. Их может быть много, но любой псевдокласс применяется к тому элементу, для которого написан. Во-вторых, :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 */ } Но еще лучше по возможности не привязываться ко вложенности тегов вообще. Тем более тут всё равно ведь для каждого уровня меню задействован свой класс.
  14. Да, является.
  15. Так противоречие между разными свойствами. Само по себе одновременное указание left и right ничему не противоречит, элемент просто будет растянут так, чтобы его края были в указанных местах. Но вот если при этом указана ещё и ширина — вот тут уже возникает противоречие. В примере с цветом именно переопределяется одно и то же свойство, но ведь смена цвета background-color в более специфичном селекторе не повлияет на цвет текста — так и тут. Специфичность — она у селекторов, а не у свойств. Она определяет, какие значения свойств вообще дойдут до элемента. Но те, что дошли, уже равноправны и «не помнят», от каких селекторов они элементу достались. И конфликты между ними разруливаются на общих основаниях.