首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将绝对定位的文本对齐到行的中心?

如何将绝对定位的文本对齐到行的中心?
EN

Stack Overflow用户
提问于 2020-06-05 01:20:38
回答 2查看 35关注 0票数 0
代码语言:javascript
复制
<div class="input-fields">
  <div class="new">
    <div class="first-container">
  <form id="new-form" method="POST">
  <div class="label">
                    <span class="fas fa-envelope icon"></span>
                    <input type="email" name="email-address" class="form-input" placeholder=" ">
                </div>
    <div class="label">
                    <span class="far fa-id-card icon"></span>
                    <input type="email" name="email-address" class="form-input" placeholder=" ">
                </div>
   <div class="label">
                    <span class="fas fa-user-tag icon"></span>
                    <input type="email" name="email-address" class="form-input" placeholder=" ">
                </div>
    <div>
    </div>
    </div>
</div>
    <div>
    <span class="divide">or</span>
    </div>
<div class="login-field">
  <div class="second-container">
  <div class="label">
                    <span class="far fa-id-card icon"></span>
                    <input type="email" name="email-address" class="form-input" placeholder=" ">
                </div>
  <div class="label">
                    <span class="fas fa-key icon"></span>
                    <input type="email" name="email-address" class="form-input" placeholder=" ">
                </div>
      <div>
    </div>
  </div>
代码语言:javascript
复制
.fa-arrows-alt-h {
  font-size: 30px;
  color: #bbb;
}

.input-fields {
  display: flex;
  background: #F7F9F6;
}

.new {
  width: 50%;
  float: right;
  border-right: 1px dashed #e9e9e9;
}



.form-input {
    padding-left: 3.575rem;
    height: calc(2.25rem + 2px);
    font-size: 1.5rem;
}


.first-container {
  display: inline-block;
  float: right;
  padding-right: 30px;
}

.second-container {
  display: inline-block;
  padding-left: 30px;
}

.divide {
  position: absolute;
  left: 0;
  right: 0;
  margin-left:auto;
  margin-right:auto;
  top: 20%;
}

我想对齐文本,“或”在垂直线的中间。

我使用了left: 50%或49%,然而,当我缩小响应测试的窗口大小时,它被打破了。

我不能使用'left:0;right: 0;因为我不知道文本的宽度(“or”)

如何在垂直线中间对齐单词“或”?

有人能帮帮忙吗?

非常感谢!:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-05 01:43:27

将这些样式添加到您的绝对定位跨度:

代码语言:javascript
复制
.divide{
  left: 50%;
  transform: translate(-50%);
}

它的工作原理请参阅此处的代码:https://codepen.io/arnavozil/pen/mdVyWGr

票数 2
EN

Stack Overflow用户

发布于 2020-06-05 01:38:00

你遇到的问题是,你使用的是flexbox,同时你给了容器特定的宽度,相反,你可以使用justify-content : center

代码语言:javascript
复制
.fa-arrows-alt-h {
      font-size: 30px;
      color: #bbb;
    }

    .input-fields {
      justify-content: center;
    display: flex;
      display: flex;
      background: #F7F9F6;
    }

    .new {
      /* width: 50%; */
      /* float: right; */
      border-right: 1px dashed #e9e9e9;
    }



    .form-input {
      padding-left: 3.575rem;
      height: calc(2.25rem + 2px);
      font-size: 1.5rem;
    }


    .first-container {
      /* display: inline-block; */
      /* float: right; */
      padding-right: 30px;
    }

    .second-container {
      /* display: inline-block; */
      padding-left: 30px;
    }

    .divide {
      /* position: absolute; */
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      /* top: 20%; */
    } ```
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62200567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档