html - 框内图像旁边的文本未对齐

标签 html css

这是我的盒子的 html,其中包含标题文本和图像。

<div id="about">
<div id="title">  <h3><b>About</b></h3></div>
<div id="text"><p>Text</p></div>
<div id="img"><img src="img/3.jpg" height="300" width= "400" alt="?">          
</div>

这是CSS

#about {
  color: white;
  padding: 10px;
  position: relative;
  width: 90%;
  height: 325px;
  background: lightgrey;
  top: 30px;
  margin: 0 auto;
  overflow: auto;
  color: white;
  background: #262626;
  box-sizing: border-box;
}

#text {
  width: 720px;
  position: relative;
  top: 30px;
  float: right;
}

#title {
  float: right;
  position: relative;
  right: 725px;
  top: 0px;
}

#img {

}

我的问题是,因为我的标题总是向右 725 像素,如果我的标题大于 5 个字母,它就不会紧挨着图片,否则我将不得不重新定位它,有没有更简单的方法这?因为手动操作很令人沮丧。

Picture with 5 letter title

Picture with 11 letter title

谢谢。

最佳答案

使用 flexbox 可以更容易地解决这个问题:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

将标题和文本放在自己的包装器 .text-wrapper 中,并将 img 放在包装器之前。

在你的 parent about 上使用 follow 属性,将它们相互放置:

.about {
    display: flex;
}

一些重构:对于这种情况,您实际上并没有在图像周围设置 div。如果是 id,我建议您使用 class。查看代码段:

.about {
  display: flex;
}

.text-wrapper {
  padding-left: 20px;
}
<div class="about">
  <img src="https://www.telegraph.co.uk/content/dam/news/2016/08/23/106598324PandawaveNEWS_trans_NvBQzQNjv4Bqeo_i_u9APj8RuoebjoAHt0k9u7HhRJvuo-ZLenGRumA.jpg?imwidth=450" height="300" width="400" alt="?">
  <div class="text-wrapper">
    <div class="title">
      <h3><b>Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Proin eget tortor risu</b></h3>
    </div>
    <div class="text">
      <p>Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Proin eget tortor risus. Curabitur arcu erat, accumsan id imperdiet et, porttitor at sem. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula
        elementum sed sit amet dui. 
        suscipit tortor eget felis p
        Sed porttitor lectus nibh.</p>
    </div>
  </div>
</div>

关于html - 框内图像旁边的文本未对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53447085/

相关文章:

javascript - 如何用纯JS检查显示的是哪个背景图片

javascript - 对于每个 div 加载图像加载图像编号两次

javascript - HTML5 Canvas 中的计时

html - Flex 布局创建奇怪的空白 - 但不是在边缘 - 为什么?

css - 如何将css转换为bss

html - 无法让社交媒体共享按钮在内联列表中排列

javascript - 以下js代码中未添加事件监听器

javascript - 使用 Javascript 覆盖或禁用元刷新标签

javascript - 更改html页面样式

html - 将媒体查询定义为变量