Для решения нужно задать
.block2 ul {
list-style-type: square;
}
Тут все работает, кружочки меняются на квадратики.
А зачем здесь нужно ul, если list-style-type наследуется? (Я проверила в стандарте CSS.)
Пишем
.block2 {
list-style-type: square;
}
Кружочки возвращаются!
Что здесь не так?
Так что ul обязателен, потому что .block2 - это класс от дива, который не относится к list-item. Вот если бы было ul class=“block2”, то все бы получилось.
Проверила код, который написала выше.
Все равно не наследуется!
Там, где стоит class="demo-inherit", делает квадратики, а уровнем ниже — кружочки.
Почему?
По умолчанию для всех ul маркерами являются кружочки. С помощью класса, который вы задали, вы изменяете маркеры на квадратики только у списка с этим классом. Хотите поменять все - задайте свойство list-style-type просто для ul.
Я хочу поменять не все, а только вложенные в элемент с class="demo-inherit".
Я хочу видеть наследование свойства list-style-type. Получается, если задать это свойство для <ul class="demo-inherit">, оно наследуется только элементами <li> первого уровня, а потом это наследование прерывается. То есть это какое-то другое наследование?
Для сравнения, если задать свойства шрифта .divу, то эти свойства унаследуют элементы любых уровней вложенности.
Тогда это не наследование, а задание свойства с помощью селектора — всем элементам ul внутри элемента класса "demo-inherit". И верхнему элементу ul нужно задавать это свойство отдельно.
Я задаю для ul верхнего уровня. Маркеры появляются у его детей li. Теперь внутри этих li есть вложенные ul. И они у своих родителей li маркеры не наследуют.