Я пытаюсь отрицательно позиционировать :before
и :after
псевдо элементы на <hr>
, но IE10 является упрямство и просто не показывает эти элементы.IE10 псевдо элементы на качестве <hr> с отрицательным позиционирование не работает
Вот мой пример: http://jsfiddle.net/Shpigford/HyVMR/
Это, кажется, работает хорошо во всех браузерах за исключением IE10. Он не показывает левый и правый блоки.
Он отлично работает с <div>
, но с использованием <hr>
вызывает левые элементы псевдо не отображаться на всех
CSS:
hr {
background:red;
margin:0 150px;
height:50px;
position:relative;
}
hr:before {
content: '';
position:absolute;
height:50px;
left:-150px;
width:150px;
background:green;
}
hr:after {
content: '';
position:absolute;
height:50px;
right:-150px;
width:150px;
background:blue;
}
Вы не должны быть в состоянии сделать это - я осмелюсь сказать, IE10 в настоящее время соответствуют стандартам здесь, и все другие браузеры нарушают спецификацию. – BoltClock
Что конкретно говорится в спецификации? – Shpigford
Наличие ': before' и': after' на пустых элементах является темой горячих дебатов, но [spec] (http://www.w3.org/TR/CSS21/generate.html#before-after-content), кажется, запрещает его ... 'hr', поскольку элемент void не может иметь содержимое дерева документа, поэтому в любом случае браузер не сможет вставлять сгенерированный контент. Известно, что вы * можете * вставлять содержимое ': before' и': after' даже для таких элементов, как элементы формы, и только в некоторых браузерах, но не в других. – BoltClock