前端学习(三)

浮动

应用场景

1.文字环绕
2.横向排列

浮动的基本特点

修改float属性值

·left:左浮动,元素从左上排序
·right:右浮动,元素从右上排序

需要注意:
1.设置了float属性后元素就为块盒
2.浮动元素的包含块也是父元素的内容盒

盒子尺寸

1.宽度为auto时,表示适应内容宽度
2.高度为auto时,表示适应内容高度
3.margin为auto时,表示0
4.除高度外其它设置可以按百分比

盒子排列

1.左浮动的盒子靠左依次排列
2.右浮动的盒子靠右依次排列
3.浮动盒子在包含块中排列时会避开常规流盒子
4.常规流块盒在排列时无视浮动盒子
5.行盒在排列时会避开浮动盒子

·如果文字没有在行盒中,浏览器会自动生成一个行盒来包裹文字,该行盒叫做匿名行盒

高度坍塌

-浮动盒子跑到包含块外面

-形成原因:常规流盒子无视浮动盒子

-解决方式:
清除浮动、涉及CSS属性:class

·默认值:none
·left:清除左浮动,该元素出现在左浮动元素的下方
·both:清除浮动,该元素出现在浮动元素的下方

<style>
        .in{
            width: 300px;
            background-color: yellow;
        }
        .in .haha{
            height: 70px;
            float: left;
            background-color: royalblue;
            border-style: 100px dashed #000;
            color: white;
            margin: 20px;

        }
        .after{
            clear: both;

        }
    </style>
</head>
<body>
    <div class="in">
        <div class="haha">5</div>
        <div class="haha">4</div>
        <div class="haha">2</div>
        <div class="haha">5</div>
        <div class="haha">8</div>
        <div class="haha">9</div>  
        <div class="after"></div>  
    </div>   

</body>
<style>
        .in{
            width: 300px;
            background-color: yellow;
        }
        .in .haha{
            height: 70px;
            float: left;
            background-color: royalblue;
            border-style: 100px dashed #000;
            color: white;
            margin: 20px;

        }
        .in::after{
            content:"";
            display:block;
            clear: both;

        }
    </style>
</head>
<body>
    <div class="in">
        <div class="haha">5</div>
        <div class="haha">4</div>
        <div class="haha">2</div>
        <div class="haha">5</div>
        <div class="haha">8</div>
        <div class="haha">9</div>  
        <div class="after"></div>  
    </div>   

</body>

伪类元素选择器:
nth-child(x),表示这个元素的第x个子元素
nth-child(xn),表示这个元素的第x的倍数个子元素

元素选择器
first-letter,首字母选择器

定位

手动控制元素在包含块中的精准位置

position属性

·默认值:static,静态定位(不定位)
·relative:相对定位
·absolute:绝对定位
·fixed:固定定位

定位元素:一个元素只要postition取值不是static,就是一个定位元素

定位元素会脱离常规流(相对定位除外)

一个脱离了文档流(常规流)的元素:

1.文档流中的元素摆放时,会忽略脱离了文档流的元素

比如浮动就是脱离了文档流

2.文档流中元素计算自动高度时,会忽略脱离了文档流的元素

比如浮动的高度坍塌

相对定位

不会导致元素脱离文档流,只是让元素在原来的位置上进行偏移,盒子的偏移不会对其他盒子产生任何影响

可以通过四个CSS属性对其进行设置:

·left
·right
·top
·bottom

如果出现矛盾以左上为准

绝对定位

1.宽高为auto,适应内容

2.包含块(盒子的活动范围)变化:找祖先元素中第一个定位元素,该元素填充盒(padding)为其包含块。若果找不到,则它的包含块为整个网页(初始化包含块)

关键点:找到包含块

固定定位(牛皮藓小广告的万恶之源)

除了包含块外和绝对定位完全一样

包含块不同:固定为视口(浏览器的可视窗口)

定位下的居中

某个方向居中

1.定宽(高)
2.将上下(左右)设置为0
3.将上下(左右)margin设置为auto

绝对定位和固定定位中,margin为auto时,会自动吸收剩余空间

多个定位重叠时

-堆叠上下文

-设置z-index,通常情况下这个值越大就越靠近用户,如果不设置那么源次序越靠后越靠近用户。

-只有定位元素设置z-index有效,z-index还可以小于0,常规流、浮动元素会覆盖在z-index小于0的元素上

补充

·绝对定位、固定定位元素一定是块盒
·绝对定位、固定定位元素一定不是浮动
·没有外边距合并

制作一网页

方法总结

·在制作页面时要根据设计图来制作

·制作时要边写边检查

·一个样式可以通过多种方法来实现

要注意的点

·注意浮动元素父元素的高度坍塌

添加clearfix进行浮动清除

·注意块盒中的行盒可以使用text-aline:center设置

·注意某些元素的位置需要通过特殊的选择器来实现。比如,nth-child(x),表示这个元素的第x个子元素;nth-child(xn),表示这个元素的第x的倍数个子元素等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值