css0005:浮动和定位

一,文档流(标准流):
元素自上而下,自左而右,块元素独占一行,行内元素在一行上显示,碰到父集元素的边框换行。
二,浮动布局:

 <style>
        div{

        }
        #frist{
            width: 200px;
            height: 200px;
            border: black solid 1px;
            background-color: yellow;
            float: left;
        }
        #second{
            width: 200px;
            height: 200px;
            border: black solid 1px;
            background-color: red;
            float: left;
        }
        #three{
            width: 200px;
            height: 200px;
            border: black solid 1px;
            background-color: blue;
            float: left;
        }
    </style>
</head>
<body>
    <div id="frist"></div>
     <div id="second"></div>
     <div id="three"></div>
</body>

上面三个盒子的布局方式就是浮动布局。

float:  left   |   right

特点:
★元素浮动之后不占据原来的位置(脱标)
★浮动的盒子在一行上显示
★行内元素浮动之后转换为行内块元素。(不推荐使用,转行内元素最好使用display: inline-block;)

  • 浮动的作用:

◆文本绕图:只能是左右绕,不能中间绕
◆制作导航:横向多个导航放在一起
◆网页布局:利用浮动安排横向盒子,进行布局

  • 清除浮动:(注意:清除浮动不是不用浮动了,而是消除浮动带了的脱标的问题。)
    浮动的弊端:当父盒子没有定义高度,嵌套的盒子浮动之后,下边的元素发生位置错误。主动向上补,造成文本丢失
    ◆清除浮动不是不用浮动,清除浮动产生的不利影响。
    ◆清除浮动的方法
    1,直接clear:
clear: left  |  right  | both

工作里用的最多的是clear:both;(both代表清除左右两边的浮动,但是清除了之后,还会出现盒子在原来位置的情况)
在这里插入图片描述
★额外标签法----父子关系中的子清除浮动
在最后一个浮动元素后添加标签。
在这里插入图片描述
★给父集元素使用overflow:hidden;
在这里插入图片描述
如果有内容出了盒子,不能使用这个方法。
在这里插入图片描述
★伪元素清除浮动 推荐使用(写一个清除浮动的类标签,需要清除浮动的标签只需要继承它就好了)
在这里插入图片描述

  • Overflow
    在这里插入图片描述

overflow:hidden;只可以看到盒子里面的类容,类容多少取决于你的盒子多大
overflow:visible;有多少放多少,多余的在盒子外面,会影响布局
overflow:scroll;即使类容少,也会显示滚动条1,滚动条1是占位置的
overflow:auto;类容少就没有滚动条,多了才加,自适应。

在这里插入图片描述
二,定位:
有三种定位方式,定位完了之后可以左右上下移动。
1静态定位:

定位方向: left  | right  | top  | bottom

◆position:static; 静态定位。默认值,就是文档流。(没有脱标,定了位就不动了)
在这里插入图片描述
◆绝对定位

Position:absolute;
特点:
★元素使用绝对定位之后不占据原来的位置(脱标)
★元素使用绝对定位,位置是从浏览器出发。
★嵌套的盒子,父盒子没有使用定位,子盒子绝对定位,子盒子位置是从浏览器出发。
★嵌套的盒子,父盒子使用定位,子盒子绝对定位,子盒子位置是从父元素位置出发。
★给行内元素使用绝对定位之后,转换为行内块。(不推荐使用,推荐使用display:inline-block;)

在这里插入图片描述
◆相对定位

Position: relative;
特点:
★使用相对定位,位置从自身出发。
★还占据原来的位置。
★子绝父相(父元素相对定位,子元素绝对定位,其他元素不会往上顶)
★行内元素使用相对定位不能转行内块
◆固定定位
Position:fixed;
特点:
★固定定位之后,不占据原来的位置(脱标)
★元素使用固定定位之后,位置从浏览器出发。
★元素使用固定定位之后,会转化为行内块(不推荐,推荐使用display:inline-block;)

  • 定位要注意子绝父相

定位的盒子居中显示
1:margin: auto;只能让标准流的盒子居中对齐
2:定位的盒子居中:先向右走父元素的一半50%,再向左走自己的一半
在这里插入图片描述

  • 标签包含规范
    1:div可以包含所有的标签
    2:p标签不能包含div h1等标签,可以包含a标 签,就是说p标签里面不能包含块元素
    3:h1可以包含p,div等标签
    4:行内元素不要包含块元素,因为行内元素没有 宽高,而块元素默认是独占一行
  • 规避脱标流
    1:尽量使用标准流
    2:标准流解决不了的使用浮动
    3:浮动解决不了的使用定位
    在这里插入图片描述
  • 图片和文字垂直居中对齐
    Vertical-align对inline-block最敏感
    默认属性Vertical-align:baseline
  • Css可见性
    Overflow:hidden;溢出隐藏
    Visibility: hidden;隐藏元素 隐藏之后还占据原来的位置
    Display:none;隐藏元素 隐藏之后不占据原来的位置
    Dispaly:block;元素可见
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值