We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<script> function handleError(event) { let el = event.srcElement img.src = "normal.png" img.onerror=null } </script> <img src="notfound.png" onerror="handleError" />
在Web开发中,盒模型(Box Model)是CSS布局的基础,它描述了如何根据元素的边框、边距、填充和实际内容来计算元素的总大小和空间占用。每个显示在页面上的元素都可以看作是一个盒子,这个盒子包含了上述几个层次。理解盒模型对于精确控制元素的布局和对齐非常重要。
盒模型主要由以下四个部分组成:
盒模型的类型
CSS提供了两种盒模型:
CSS3中的box-sizing属性
通过CSS3的box-sizing属性,可以控制元素采用哪种盒模型:
BFC(Block Formatting Context)即块级格式化上下文,是Web页面的可视CSS渲染的一部分,用于决定块级盒子的布局及浮动元素如何与周围元素互相影响和相互关系。
在BFC中,盒子会在垂直方向上一个接一个地放置,盒子垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠。
在BFC中,每个盒子的左外边缘接触到包含块(容器)的左边缘(对于从右到左的格式,接触到右边缘)。即使存在浮动也是如此(这就是BFC可以用来清除浮动的原因)。
BFC是页面上的一个隔离的容器,容器里面的元素不会影响到外面的元素,反之亦然。
防止margin重叠:在同一个BFC中的块级元素垂直排列时,上下margin会合并。通过将元素放在不同的BFC中可以防止这种情况。
清除浮动:在浮动元素后创建BFC可以包含浮动元素,从而清除浮动带来的影响。
<div class="container"> <div class="float-box">浮动内容</div> <div class="clear"></div> </div> <style> .float-box { float: left; } .clear { clear: both; } // 使用伪元素清除浮动(推荐) .container::after { content: ""; display: table; clear: both; } </style>
<div class="float-box">浮动盒子</div> <div class="text-box"> <p>这段文字不会环绕旁边的浮动元素,因为它被包含在一个新的BFC中。</p> </div> <style> .float-box { float: left; /* 使盒子浮动 */ width: 100px; height: 100px; background-color: lightblue; /* 仅为了视觉上的区分 */ margin-right: 20px; /* 添加一些右边距 */ } .text-box { overflow: hidden; /* 创建一个新的BFC */ background-color: lightcoral; /* 仅为了视觉上的区分 */ } </style>
<div class="container"> <div class="sidebar">固定宽度栏</div> <div class="main-content">自适应栏</div> </div> <style> .container { overflow: hidden; /* 创建一个新的BFC */ } .sidebar { float: left; /* 使sidebar浮动 */ width: 200px; /* 固定宽度 */ background-color: lightblue; /* 仅为了视觉上的区分 */ } .main-content { overflow: hidden; /* 通过创建新的BFC防止环绕在浮动元素旁边 */ background-color: lightcoral; /* 仅为了视觉上的区分 */ } </style>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1. img 标签有哪些属性?如果图片加载失败会怎么样
讲讲盒模型
盒模型的组成部分
盒模型主要由以下四个部分组成:
盒模型的类型
CSS提供了两种盒模型:
CSS3中的box-sizing属性
通过CSS3的box-sizing属性,可以控制元素采用哪种盒模型:
BFC
原理
在BFC中,盒子会在垂直方向上一个接一个地放置,盒子垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠。
在BFC中,每个盒子的左外边缘接触到包含块(容器)的左边缘(对于从右到左的格式,接触到右边缘)。即使存在浮动也是如此(这就是BFC可以用来清除浮动的原因)。
BFC是页面上的一个隔离的容器,容器里面的元素不会影响到外面的元素,反之亦然。
如何形成BFC
BFC的用途
防止margin重叠:在同一个BFC中的块级元素垂直排列时,上下margin会合并。通过将元素放在不同的BFC中可以防止这种情况。
清除浮动:在浮动元素后创建BFC可以包含浮动元素,从而清除浮动带来的影响。
The text was updated successfully, but these errors were encountered: