#css #flexbox #css-grid
Вопрос:
Я хотел бы создать этот макет:
Я могу пройти большую часть пути, используя flexbox и align-self: baseline
:
<div style="background-color: #fce5cdff; display: flex; height: 4.35cm;">
<div style="font-size: 24pt">Ferry to Brookfield</div>
<div style="font-size: 96pt; align-self: baseline">3</div>
<div style="font-size: 9pt; align-self: baseline">min</div>
</div>
Отсюда я не могу понять, как добавить текст «оставить», чтобы его базовая линия совпадала с текстом «3 минуты». Вот попытка (JSFiddle).
Как я могу создать этот макет в CSS?
Комментарии:
1. Почти невозможно, символы символов должны иметь вертикальное пространство сверху и снизу. На самом деле это запечено в купели.
2. Обратите внимание, что это
pt
предназначено для печати, а не для Интернета. w3.org/Style/Examples/007/units.en.html
Ответ №1:
Попробуй это…
<div style="background-color: #fce5cdff; display: flex; height: 4.35cm;">
<div style="display: flex; flex-direction: row;justify-content: space-between">
<div>
<h1 style="font-size: 24pt;font-weight:300;margin-bottom:47px">Ferry to Brookfield</h1>
<div style="font-size: 9pt; text-align: right;">leave in</div>
</div>
<div style="font-size: 96pt">3<span style="font-size:9pt">min</span></div>
</div>
</div>
Ответ №2:
вы можете сделать это с absolute
помощью позиционирования и псевдоэлементов:
.wrapper{
background-color: #fce5cdff;
display: flex;
height: 4.35cm;
font-size: 24pt;
}
span{
font-size: 96pt;
line-height: 96pt;
position: relative;
margin-left: 2pt;
}
span::before {
content: "leave in";
position: absolute;
font-size: 10pt;
bottom: 6pt;
left: -6ch;
}
span::after {
content: "min";
position: absolute;
font-size: 10pt;
bottom: 6pt;
right: -3ch;
}
<div class="wrapper">
Ferry to Brookfield <span>3</span>
</div>