【问题标题】:Text centered in div with another div on left with right border文本以 div 为中心,左侧有另一个 div,右边框
【发布时间】:2016-05-10 08:20:04
【问题描述】:

抱歉,我不知道如何描述帖子标题。 我想使用 html/css 在屏幕截图中实现类似的效果:

这将是我的专栏的某种标题/标题。 我希望 ABC 在蓝色边框中垂直和水平居中。此外,红点(我想放在那里的小图像)应该垂直居中,并且图像右侧应该有 1px 粗的灰线。 该怎么做?

我尝试过类似的方法,但线路太短:

<div style="background: #75d0ff;">

  <div style="border-right: 1px solid gray; padding: 20px; display: inline; height: 100%;">
      <img src="css/img/dot.png">
  </div>

  <div class="border-content" style="display: inline">
      <p class="text-center">ABC</p>
  </div>
</div>

【问题讨论】:

  • 您希望文本居中在完整结果的中心还是仅在右侧的蓝色部分?
  • @svenb 文本应以完整结果为中心(就像您的答案一样)

标签: html css


【解决方案1】:

我认为这是正确的方法:

#container {
  position: relative;
  text-align: center;
  height:50px;
  background-color: #67CDFB;
  width: 200px;
}

#textPusher {
  width: 100%;
  height:35%;
}
#imgContainer{
  width: 20%;
  height: 100%;
  position: absolute;
  top:0;
  border-right:1px solid red;
}

#imgContainer img{
  position: absolute;
  top: 10px;
  left: 10px;
  width:calc(100% - 20px);
  height: calc(100% - 20px);

}
<div id="container">
  
  <div id="textPusher"></div>
  <div id="textContainer">abc</div>
  <div id="imgContainer"><img src="http://lorempixel.com/400/200/" alt=""></div>
  
  
  
</div>

【讨论】:

  • 谢谢你,很好的答案,但文本在“右部分 div”(垂直线的右侧)内居中,而不是在整个容器中。如何解决?没有硬编码div的高度是否可以做到这一点?
  • @user3626048 我更改了代码,以便居中不依赖于 div 高度(希望这就是您不硬编码 div 高度的意思)
  • @user3626048 没问题
【解决方案2】:

      #container
      {
        width:200px;
        height:40px;
        background-color:#75d0ff;
        text-align:center;
        font-family:arial;
      }

      #container-circle
      {
        padding-left:10px;
        padding-top:10px;
        position:absolute;
        width: 40px;
        height: 30px;
        margin-right:5px;
        border-right:2px solid orange;
      }

      #circle
      {

        top:15px;

        width: 20px;
        height: 20px;
        border-radius: 50%;
        border:2px solid red

      }
      #tekst
      {
        padding-top:10px;
        width:200px;
        height:40px;
        font-size:20px;
        font-weight:bold;
      }
    <div id="container">
      <div id="container-circle">
        <div id="circle">

        </div>
      </div>
      <div id="tekst">
        ABC
      </div>
    </div>

【讨论】:

  • 谢谢。你知道没有硬编码div的高度是否可以做到这一点?
  • @user3626048 使用 % 而不是 px。这是回答你的问题还是你需要别的东西?
  • @user3626048 没问题,如果其中一个答案是您想要的,您可以将其标记为已接受以关闭问题。
猜你喜欢
  • 2021-09-03
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 2021-09-26
  • 2011-12-28
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
相关资源
最近更新 更多