解决子元素浮动到父元素的父元素的问题?

作者站长头像
站长
· 阅读数 5

急求!子元素设置了float:left,为什么是浮动到父元素的父元素(part1)上,而不是浮动到父元素(box1)上?想让这个子元素和学院新闻同行应该怎么办?这是那个子元素

 .box1 span a{
        width: 38px;
        height: 25px;
        display:line-block;
        float: right;
}

这是那个子元素解决子元素浮动到父元素的父元素的问题?这是整体:解决子元素浮动到父元素的父元素的问题?解决子元素浮动到父元素的父元素的问题?解决子元素浮动到父元素的父元素的问题?

回复
1个回答
avatar
test
2024-06-23

看起来像是初学者,描述的问题阅读起来也比较吃力。

简单来说就是因为:

  1. 你的 .box1 元素下有两个元素 p 标签和 span 标签。
  2. p 是块级元素,所以它会占满整行,导致让 span 标签换行到下一行展示。
  3. 因为已经换行了,所以你浮动的时候也只是在本行向右浮动。
  4. 另外你的 .box 元素的高度你设置为了固定的 35px,文字行高也设置为了 34px
  5. 所以 .box “看起来” 会在 .part1 元素上,但其实它还是在 .box1 元素上的只是看起来脱离了 .box1 元素。

所以简单的调整就是把你的 span 标签移动到 p 标签之前就可以了

<div class="content">
  <div class="part1">
    <div class="box1">
      <span>
        <a href="#">
          <img src="##" />
        </a>
      </span>
      <p>学院标签</p>
    </div>
  </div>
  <div class="part2">2</div>
</div>

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容