Вы можете применить CSS к пользовательским элементам так же, как вы можете стандартные HTML-элементы.
Нет ничего плохого в том, что scroll-content { ... }
, как написано в вашем коде.
Маленький фон
Браузер, на базовом уровне, не имеет понятия, что существуют элементы. Он ничего не узнает ... до он выставлен по умолчанию таблице стилей (sample).
В таблице стилей по умолчанию представлен браузер для элементов HTML.
Таким образом, пользовательские элементы могут быть определены как элементы, которые не включены в таблицу стилей по умолчанию. (Элементы, которые существуют, но не поддерживаются браузером, могут делиться этим определением.)
Пользовательские элементы, однако, могут быть введены в браузер в стилях автора.
Вот что-то важно учитывать:
Если браузер не распознает элемент (то есть, это не в таблице стилей по умолчанию), он будет применять CSS начальных значений.
6.1.1 Specified values
Агенты пользователей должны сначала присвоить указанное значение каждого свойства на основе на следующих механизмов (в порядке приоритета):
Если результаты каскада в значении, используй это.
В противном случае, если свойство наследуется и элемент не является корнем дерева документа, используйте вычисленное значение родительского элемента .
В противном случае используйте начальное значение свойства. Начальное значение каждого свойства указывается в определении свойства.
Как указывалось выше, если элемент не распознан (# 1 & # 2 не применяются), использовать начальное значение из определения свойства (# 3 применяется).
Так что в вашем случае:
Ваш пользовательский элемент является: <scroll-content>
Ваш CSS является: scroll-content { overflow: hidden; }
Вы говорите, что в вашем вопросе, что этот код делает то, что он должен делать. Но если в рамке, которую вы упомянули, не предусмотрены дополнительные стили для пользовательских элементов, она не может работать (demo).
Вот почему:
Так что нет никакого способа это HTML/CSS сочетание может работать – overflow
собственность будет игнорироваться, равно как и height
, width
и любые другие свойства, которые не применяются к строковым элементам.
Пользовательский элемент должен иметь display: block
для overflow
для работы (demo).
Аналогичным образом, единственная причина body
, div
, h1
, p
, ul
существуют в виде блочных элементов, потому что они определены таким образом, в таблице стилей по умолчанию (sample).
Итак, отложив аргументы за и против пользовательских элементов, вот в нижней строке:
Добавить display: block
в пользовательских элементов, и вы хорошо к ходу.
Да, это прекрасно. 'scroll-content {}' выбирает тег. –