#html #css
#HTML #css
Вопрос:
Я хотел бы создать следующее:
Left Text - - - - - - Center Text - - - - - - Right Text
Где — — — — — пунктирная линия размером 1 пиксель находится в середине высоты текста.
Комментарии:
1. Я полагаю, что ваш вопрос был отклонен, потому что вы не предоставили никакого кода, показывающего, что вы пытались. Я печатал свой ответ, когда это произошло. Я вроде как новичок в этом, поэтому не уверен, сделал ли я что-то не так, дав вам полный ответ здесь.
2. @Simran ты не сделал ничего неправильного , но ты можешь побудить людей снова задавать такой вопрос, чего мы здесь не хотим, поскольку это место для вопросов и ответов, а не для того, чтобы я не знаю, как это сделать, сделай это за меня . Поэтому лучше не отвечайте, так как вы также можете потратить впустую свое время, если вопрос будет закрыт / удален позже.
3. @TemaniAfif имеет смысл. Я только что закончил публиковать решение, когда заметил голоса «против». Я занимаюсь этим только третий день, все еще пытаясь сориентироваться.
Ответ №1:
Контейнер Flexbox с space-between
. Пунктирные линии представляют собой границу на интервалах высотой 1 пиксель. Убедитесь, что размеры текста не увеличиваются с flex: 0 0 auto;
.container {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.container .text {
flex: 0 0 auto;
}
.container .dashed {
display: block;
width: 50%;
height: 1px;
border-top: 1px dashed #000;
margin: 0 5px;
box-sizing: border-box;
}
<div class="container">
<span class="text">Left Text</span>
<span class="dashed"></span>
<span class="text">Center Text</span>
<span class="dashed"></span>
<span class="text">Right Text</span>
</div>
Ответ №2:
Я бы сделал что-то вроде этого: https://jsfiddle.net/s59rzh4b /
<div class="outer">
<div class="center">
<span class="middle">More text</span>
</div>
<span class="left">Some text</span>
<span class="right">Even more...</span>
</div>
.outer {
position: relative;
width: 100%;
}
.outer > * {
position: absolute;
background: white;
padding: 0 5px;
top: 0;
}
.left {
left: 0;
}
.center {
text-align: center;
width: 100%;
height: 8px;
border-style: solid;
border-color: black;
border-width: 0 0 2px 0;
}
.middle {
background: white;
padding: 0 5px;
}
.right {
right: 0;
}
Ответ №3:
html, body, .grid-container { height: 100%; margin: 0; }
.grid-container *:after {
position: absolute;
top: 0;
left: 0;
}
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
grid-template-areas: "t1 t2 t3" ". . ." ". . .";
txt-align: center;
}
.t1 { grid-area: t1; }
.t2 { grid-area: t2; }
.t3 { grid-area: t3; }
<div class="grid-container">
<div class="t1">sfsfds -----------------------</div>
<div class="t2">dsfsdf -------------------</div>
<div class="t3">dsfdsf -----------------------</div>
</div>
это??