Первое, что я заметил, это то, что ваш селектор CSS dl.name-value
не соответствует элементу HTML <dl class="name-value">
. Во всех инспекторах браузера код CSS просто не отображается.
Я проверил кавычки, но они были в порядке. Иногда цитаты, скопированные из текстовых процессоров (таких как MS Word), недействительны в CSS.
Я проверил наличие проблем, связанных со SCSS, списками определений HTML (<dl>
), специфичностью CSS и их комбинациями. Ничего. Я также запускал код в простом CSS. Еще ничего.
Я проверил, не является ли display: flex
недействительным в многостолбцовом макете. Но оказывается, что ничего в объявлении не совпадает. Вот пример с background-color
:
.two-columns {
column-count: 2;
}
dl.name-value {
background-color: green;
height: 500px;
/* display: flex;
flex-wrap: wrap;
justify-content: space-between; */
}
dt {
padding-right: 0.5rem;
width: 40%;
text-align: right;
}
dd {
width: 60%;
margin-left: auto;
}
dt,
dd {
break-inside: avoid;
column-break-inside: avoid;
}
<div class="two-columns">
<dl class="name–value">
<dt>Milkman</dt>
<dd>A man with a milk</dd>
<dt>Postman</dt>
<dd>A man with a post</dd>
<dt>Manila</dt>
<dd>A man with ila</dd>
<dt>Layman</dt>
<dd>A husband</dd>
</dl>
</div>
Ну, в конечном счете, после разделения селектора на отдельные символы оказывается, что проблема была в дефисе (-
). Дефис, используемый в HTML, отличался от дефиса, используемого в CSS.
.two-columns {
column-count: 2;
}
dl.name-value { /* hyphen (keyboard minus sign) now matches HTML class value */
background-color: green;
height: 500px;
/* display: flex;
flex-wrap: wrap;
justify-content: space-between; */
}
dt {
padding-right: 0.5rem;
width: 40%;
text-align: right;
}
dd {
width: 60%;
margin-left: auto;
}
dt,
dd {
break-inside: avoid;
column-break-inside: avoid;
}
<div class="two-columns">
<dl class="name-value"><!-- hyphen (keyboard minus sign) now matches CSS selector -->
<dt>Milkman</dt>
<dd>A man with a milk</dd>
<dt>Postman</dt>
<dd>A man with a post</dd>
<dt>Manila</dt>
<dd>A man with ila</dd>
<dt>Layman</dt>
<dd>A husband</dd>
</dl>
</div>
Это может или не может решить вашу проблему. Но ясно, что использование гибкого контейнера внутри блока с несколькими столбцами отображается по-разному в основных браузерах. Если вы можете опубликовать более подробную информацию о макете, который вы хотите, возможно, мы сможем найти стабильное решение с column-count
, flex или grid.
person
Michael Benjamin
schedule
21.03.2018