深圳网站定制价格低,广州网站开发棋牌,wordpress 做企业站,网站公告设计display display 属性用于控制元素的显示类型#xff0c;用的 display 值包括#xff1a;
block#xff1a;块级元素 使元素成为块级元素#xff0c;占据一整行#xff0c;前后有换行宽度默认为父容器的 100%#xff0c;可以设置宽高#xff0c;支持 margin、padding、… display display 属性用于控制元素的显示类型用的 display 值包括
block块级元素 使元素成为块级元素占据一整行前后有换行宽度默认为父容器的 100%可以设置宽高支持 margin、padding、border 等属性常见的块级元素div, h1 - h6, p, form, section, article 等 inline行内元素 行内元素不会占据一整行它只会占据内容所需的空间元素之间没有换行。行内元素的特点是不支持设置宽度和高度不能使用 margin-top 和 margin-bottom。常见的行内元素span, a, strong, em 等 inline-block行内块级元素 是 block 和 inline 的结合体它不换行但可以设置宽度和高度支持 margin、padding 等。常见用法常用来让导航条的列表项水平排列或者需要在一行中放置多个块元素 例如
ul {list-style: none;margin: 0;padding: 0;
}li {display: inline-block;margin-right: 10px;
}以上代码会让导航栏中的 li 元素排成一行 Float 浮动是将元素从正常的文档流中脱离出来其他元素比如文本将围绕其周围排布通常用于实现网页的布局效果 float 的属性包括
left元素浮动到容器的左侧其他元素会围绕在其右侧right元素浮动到容器的右侧其他元素会围绕在其左侧none默认值元素不会浮动保持在正常文档流中 例如
img {float: left; /* 将图片浮动到左侧 */margin-right: 10px; /* 给图片右侧添加间距 */
}这段代码让图片浮动到左侧文字将会围绕着图片排布 父级边框塌陷问题 当使用 float 来布局元素时浮动的元素脱离了正常的文档流其他元素会忽略浮动元素的存在直接排布在它们的旁边 假设有一个浮动的div元素
div classcontainerdiv classfloat-item浮动元素/divdiv classnormal-item普通元素/div
/div其对应的css为
.container {border: 1px solid #000;
}.float-item {float: left;width: 50%;background-color: #f0f0f0;
}.normal-item {background-color: #ccc;
}在这个例子中float-item 会浮动到容器的左边而 normal-item 会在其旁边显示。但是.container 元素不会自动扩展以包含 .float-item因为 .float-item 脱离了正常的文档流。结果.container 元素的高度可能为 0导致外观上看不到边框这就是父级边框塌陷问题 增加父级元素高度不建议 为了解决父级边框塌陷问题我们可以选择直接为父级元素设置足够的高度使浮动的子元素能够包含在内。例如直接将父容器设置为height:300px; 但是这种方法无法动态适应子元素的高度如果浮动的子元素内容发生变化则需要手动调整父元素的高度。 使用空div标签 在父容器的最后插入一个空的清除浮动元素 div并通过 CSS 设置其 clear: both; 来清除浮动。这样可以确保父容器的高度扩展到浮动元素的高度。 clear清除浮动可以让块既有浮动的效果也排成标准文档流的样式
right右侧不允许有浮动left左侧不允许有浮动both两侧都不允许有浮动 例如
div idfatherdiv classchild浮动元素1/divdiv classchild浮动元素2/divdiv classclear/div !-- 清除浮动 --
/div.clear {clear: both;margin: 0;padding: 0;
}这种方法通过插入一个额外的空 div 来清除浮动。缺点是每次都需要手动插入比较麻烦。 使用 overflow 属性 通过在父容器上使用 overflow 属性可以解决父容器塌陷的问题。设置 overflow 的值为 hidden 或 auto 会迫使父容器扩展到包含所有浮动子元素的大小从而避免塌陷。 #father {overflow: hidden;
}overflow 的值
hidden溢出的部分会被隐藏。如果容器内的浮动元素超出容器范围这些部分会被裁剪掉不显示。scroll如果容器内的内容超出容器范围会出现滚动条用户可以通过滚动查看超出的内容。auto如果内容超出容器的范围则会自动显示滚动条。 overflow: hidden; 虽然能够解决父容器塌陷问题但它会裁剪掉溢出部分的内容。因此这种方法适用于容器内内容不会超出父容器的场景 使用 ::after 伪类 通过为父容器添加 ::after 伪元素相当于在父类后面添加了一个宽、高都为0的小块该小块不允许周围有浮动逻辑和添加div标签差不多
清除的方法
.container::after {content: ;display: block;clear: both;
}content: 创建一个空的伪元素display: block确保伪元素是块级元素能够触发清除浮动的效果。clear: both清除左右浮动使得父容器能够包裹所有浮动元素