Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Стили (CSS) Почему Chrome не понимает указание общей позиции для before и after?

Почему Chrome не понимает указание общей позиции для before и after?


     09.12.2012    Стили (CSS)    2105

вопрос
Здравствуйте.

Столкнулся с неожиданной для себя ситуацией. Верстаю спокойно шаблон, и все элементы :before и :after у меня имеют position:absolute. Я, чтобы не присваивать этот параметр к каждому селектору, решил сделать так:
:before,
:after {
      content:"";
      position:absolute;
}

А, оказывается, конструкция эта не то чтобы в Хроме не работает, так еще и полностью "убивает" весь дизайн и сайт становиться белым экраном. После расстановки position:absolute к каждому селектору отдельно все становиться как надо.

Что это вообще такое? Не могу найти записей о том, что так делать нельзя. Проблема только в Хроме, даже IE7 отображает все как надо.

Ответил: ПафНутиЙ


так писать не правильно.
Этой конструкцией вы присваиваете к КАЖДОМУ элементу страницы указанные свойства.
Сделайте так:
.after,
.before {...}
.after:after {...}
.before:before{...}

А в html пишите так:

<div class="someclass after"></div>
<div class="someclass after before"></div>

Комментарии пользователей (2)

BR0kEN
163

235 | 275

BR0kEN - 9 декабря 2012 22:32 - Эксперт

Да, на самом деле, вдумавшись, я понимаю насколько это логично. Так что тогда на счет остальных браузеров (всех, кроме Chrome) которые правильно понимали, как выяснилось, неверное свойство?

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 9 декабря 2012 23:29 - Админ

возможно они его просто не воспинимали)
Вот опера к примеру нормально отрабатывает
input:after {...}
а остальные браузеры игнорят.

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы