组队大项目零基础学习(八)——css学习笔记(三)浮动布局 | 青训营笔记

93 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第七天

1. HTML元素的分类

块元素:可以设置宽度和高度,独立成行。h1-6pdivulli

行内元素(内联元素、行级元素):不可以设置宽度和高度,不独立成行。aspan

行内块元素:可以设置宽度和高度,不独立成行imginputbutton

1.1 display属性

block:转换为块元素(常用)

inline:转换为行内元素

inline-block:转换为行内块元素

none:隐藏元素

1.2 float属性

用于设置浮动元素,便于让元素在同一行显示。这里元素可以是块级元素。

left:浮动元素处于页面靠左

right:浮动元素处于页面靠右

将块级元素设置为浮动元素后,就可以在同一行显示了

浮动元素的特性:脱离文档流

什么叫脱离文档流呢?

我的理解是:文档流之外的浮动元素之间会有碰撞体积,其与文档流之内的元素不会有,即两个重叠图层

vnyEGT.png

内容和边栏盒子是浮动元素,而黄色的部分是文档流内的块级元素

1.3 清除浮动

一般来说,我们只想要浮动元素让块级元素同一行的作用,而不想失去浮动元素的碰撞体积。因此,浮动元素的浮动特性是弊端。

清除浮动就是用来消除这个弊端,让浮动元素重新具有碰撞体积

clead:both

它一般用于一个块级元素中,用于清除该块级元素上方浮动元素的浮动

普遍习惯是利用伪元素选择器+类选择器建立一个清除浮动专用选择器,给需要清除浮动的元素设置一个 clear 类名,然后在其前后增加一个元素,并且设置三个样式(缺一不可):

1.空内容content:"";

2.块级元素display:block;

3.清除浮动clead:both;

这样的clear样式选择器具有很好的复用性,当我们需要给那个元素取消浮动时,只需要在元素的盒子的div标签上的class属性添加一个名称clear

示例:

 <head>
     <style>
         .content{
             width: 300px;
             height: 200px;
             border: 1px solid red;
             float:left;
         }
         .aside{
             width: 300px;
             height: 200px;
             border: 1px solid blue;
             float: left;
         }
         .belowbox{
             width: 400px;
             height: 500px;
             background-color: yellow;
         }
         .clear::before,.clear::after{
             content:"";
             display: block;
             clear:both;
         }
     </style>
 </head>
 <body>
     <div class="topbox clear">
         <div class="content">
             内容
         </div>
         <div class="aside">
             边栏
         </div>
     </div>
     <div class="belowbox"></div>
 ​
 </body>

vn6R1O.png

\