CSS позиционирование текста и подчеркивания - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь добиться следующего эффекта, но у меня возникают проблемы с позиционированием текста и переводом подчеркивания в конец экрана.

.header {
  height: 550px;
  width: 100%;
  background-color: #1F2041;
  position: relative;
}
    
.header h1, .header h2{
  color: white;
  font-size: 52px;
  text-transform: uppercase;
  margin-bottom: 20px;
  border-bottom: 1.5px solid currentColor;
  line-height: 0.7;
  position: absolute;
  top: 210px;
}
    
.header p {
  margin-top: 40px;
  color: white;
}
<div class="header">
  <h2>About</h2>
  <h2>Nikola</h2>
  <p>Simple. Modern. Yours.</p>
</div>

Это то, чего я пытаюсь достичь

Ответы [ 2 ]

1 голос
/ 30 мая 2019

Попробуйте что-то вроде этого, используя float и clear.Отрегулируйте размер 400 пикселей по своему усмотрению.Возможно, этот способ (float) не самый лучший, и может быть предпочтительным использование только полей, но старайтесь избегать использования position: absolute, иначе элементы могут быстро перекрываться.

.header {
    height: 550px;
    width: 100%;
    background-color: #1F2041;
    text-align: right;
}
.header * {
    float: right;
    clear: right;
    width: 400px;
    text-align: left;
    color: white;
    margin: 0 0 20px;
}

.header h1, .header h2{
    color: white;
    font-size: 52px;
    text-transform: uppercase;
    border-bottom: 1.5px solid currentColor;
}
<div class="header">
    <h2>About</h2>
    <h2>Nikola</h2>
    <p>Simple. Modern. Yours.</p>
</div>
0 голосов
/ 30 мая 2019

Может быть, тебе нужно что-то подобное?С помощью абсолютного div вы можете изменить его положение внутри родительского относительного div.

Вы устанавливаете статическую высоту, поэтому приблизительно с верхним и нижним полями в 150px вы получаете то, что вам нужно

Помните, чтопри использовании position:absolute; это относительно родительского div с position:relative

.header {
  height: 550px;
  width: 100%;
  background-color: #1F2041;
  position: relative;
}

.content-div{
  position:absolute;
  margin: 150px 0 150px auto;
  width: 250px;
  right: 0;
}

.header h1, .header h2{
  color: white;
  font-size: 52px;
  text-transform: uppercase;
  margin-bottom: 20px;
  border-bottom: 1.5px solid currentColor;
  line-height: 0.7;
}
    
.header p {
  margin-top: 40px;
  color: white;
}
<div class="header">
  <div class="content-div">
    <h2>About</h2>
    <h2>Nikola</h2>
    <p>Simple. Modern. Yours.</p>
  </div>
</div>
...