CSS继承、盒子模型、float浮动、定位、diaplay

一、CSS继承

1.文字相关的样式会被子元素继承。

2.布局样式相关的不会被子元素继承。(用inherit可以强行继承)

实现效果:

二、盒子模型

每个标签都有一个盒子模型,有内容区、内边距、边框、外边距。

从内到外:content->padding->border->margin。

注:如果没有设置box-sizing属性,一个盒子的最终大小为content+padding+border,也是background-color的区域。

 

1.content:标签的内容区域,用来盛放别的标签或文本,一般css设置的宽高就是这个区域。

2.padding:内容到边框的距离,一般设置完后,由于padding占位,会撑大盒子模型。

①单参数:指定对应边内边距或者一次性指定所有内边距(单位:px %)。

padding-left

padding-right

padding-top

padding-bottom

padding

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

padding:上下 右左

padding:上 右左 下

padding:上 右 下 左

3.border:边框样式

①单参数:指定对应边框或一次性指定所有边框。

border-left

border-right

border-top

border-bottom

border-width

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

border-width:上下 右左

border-width:上 右左 下

border-width:上 右 下 左

③快速写法

border:1px,solid #123456

4.margin:外边距,一般用来调整盒子之间的距离,参数写法与作用同padding。

①单参数:指定对应边框或一次项指定所有边框。

margin

margin-left

margin-right

margin-top

margin-bottom

②多参数:参数个数,按【上 -> 右 -> 下 -> 左】顺时针顺序,没有指定到的边则和对边相同。

margin:上下 右左

margin:上 右左 下

margin:上 右 下 左

补充:

1.背景颜色会填充到margin以内的区域

2.内容在content区域

3.box-sizing:可以改变盒子模型的展示形态

content-box(默认值)——width、height,作用于content

border-box——width、height,作用于content padding border,防止padding、border撑大盒子大小。

 

4.box-shadow:可以设置盒子模型的周边阴影

参数:x轴偏移量 y轴偏移量 阴影大小 阴影颜色

/* 一个偏右下的红色阴影 */
box-shadow: 10px 20px 10px red;

实现效果:

三、float浮动

1.文档流:文档中可显示对象在排列时所占用的位置。

块级元素:单独一行,自上而下(div、h1、p)

行内元素:从左到右水平分布显示(a、span、strong)

2.float特点:

①脱离文档流,相对于父容器靠左或者靠右排列,如果之前有浮动元素,会挨着排列。

②如果区域出现<img>标签,浮动元素的文本会绕开图片区域,呈现一个【文字围绕图片】的效果

3.参数值:

①none:不浮动,保持原文档流

②left:脱离文档流,居左浮动

③right:脱离文档流,居右浮动

实现效果:

多种浮动效果:

 

 

 

四、定位

分为relative、absolute、fixed。

属性值:top(距离顶部)、bottom(距离底部)、left(距离左边值)、right(距离右边值)

(top和bottom不同时用;left和right不同时用)

 

在开始布局之前,使用*{}把所有标签的margin和padding设置为0,取消屏幕间隔。

没有设置*{}时,有间隔

 

1.相对定位:relative,以自身为参照点移动位置。

 <div class="box">

 .box{

        width: 100px;

        height: 100px;

        background-color: green;

        position: relative;

        left: 100px;

        top: 100px;

实现效果:

2.绝对定位:absolute,以最近一个带有定位属性的父级元素为参照点来移动位置。

若父级元素没有定位属性,就以body为参照点,默认值为position:relative。

 <div class="box">

        <div class="box1"></div>

.box{

        width: 100px;

        height: 100px;

        background-color: green;

        position: relative;

        left: 100px;

        top: 100px;

    }

    .box1{

        width: 50px;

        height: 50px;

        background-color: red;

        position: absolute;

        top: 50px;

        left: 50px;

    }

实现效果:

父级元素没有定位属性的实现效果:

3.绝对固定定位:fixed,固定在网页的某一位置,无论怎么滚动网页它都不会移动位置。

<div class="box">

        <div class="box1"></div>

    </div>

    <div class="place"></div>

.box1{

        width: 50px;

        height: 50px;

        background-color: red;

        position: fixed;

        top: 50px;

        left: 50px;

    }

    .place{

        width: 50px;

        height: 1000px;

        background-color: pink;

       

    }

实现效果:

 无论如何滚动鼠标,向下滑动时,红色的小方块始终固定在原来位置不会移动。

注意点:

①元素移动后,原来的位置不会空出来,所以新元素不会占领原来的位置。

②考虑absolute会出现脱离文档流的情况,而relative不会。

效果图:

absolute出现脱离文档流的情况:

效果图:

五、diaplay

1.值

①none:隐藏该元素

②block:将元素转为块级元素

③inline:将元素转为行内元素

④inline-block:将元素转为行内块元素,可以指定宽高并且不换行。(未指定宽高则根据内容撑开)

2.去除元素间空白间隙

【inline-block】 【inline】元素之间会有空白间隙

1.在你的HTML代码里元素间不留任何空白。

2.父元素设置font-size:0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值