Что до этого действительно делает?

Итак, я прочитал документы и, вероятно, понимаю цель ::before и ::after. Если мое понимание правильное, они всегда должны работать в сочетании с другими элементами. Но веб-страница, на которую я смотрю, имеет что-то вроде этого:

<body>
    <div class="container-fluid">
        ::before
        <div> ... </div>
        ::after
    </div>
<body>

Я не могу понять, что здесь делают ::before и ::after?

Ответы

Ответ 1

::before и ::after ссылаются на псевдоэлементы CSS, созданные до и после сопоставления элементов.

Псевдоэлементы обычно не отображаются в деревьях элементов HTML. Однако, если вы используете правильный инструмент для отладки (например, инспектор Chrome), вы можете увидеть эти специальные элементы. Поскольку в наши дни очень распространено стиль страницы с использованием псевдоселекторов, очень полезно иметь инструмент для отладки, который может отображать их.

Чтобы проверить это поведение у своего инспектора Chrome (или другого подходящего инструмента), попробуйте добавить некоторый контент к некоторым из этих псевдоэлементов с помощью CSS, например:

h1:before {
  content: 'before';
}

Ответ 2

Я предполагаю, что вы это видите, потому что инспектор хрома показывает его для проверки: http://www.youtube.com/watch?v=AcKlJbmuxKo

На самом деле они не находятся в исходном html, поданном с сервера, но добавлены только Chrome Inspector.

Вы можете использовать их для просмотра своей модели окна на экране и объявленных для них стилей.

Также проверьте это: fooobar.com/questions/91434/...