Как расположить текст слева, по центру и справа со строкой посередине?

#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>  

это??