CSS(2)盒子模型、定位浮动
盒子模型
- 盒子模型:一个盒子中主要的属性就5个。width与height、padding、border、margin。盒子模型标准有两种为标准盒模型和IE盒模型。学习上以标准盒子模型为主
- width和height :内容的宽度、高度(不是盒子的宽度、高度)。
- padding :盒子内边距。
- border :盒子边框。
- margin :盒子外边距。
- 标准盒子模型:width和height指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。
- IE盒子模型:width和height指的是内容区域+border+padding的宽度和高度。
- 四方向写法:
/* 方式一:分开写法 */
div {
padding-top: 30px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 100px;
}
/* 方式二:综合写法
四个值顺序为:上、右、下、左。
三个值顺序为:上、右、下。(左和右一样)
两个值顺序为:上下同值、左右同值。
一个值顺序为:四方向同值。
*/
div {
padding: 50px 60px 80px 90px;
}
- border:边框。边框有三个要素:像素(粗细)、线型、颜色。
div {
/* 方式一:合并写。颜色(黑色)、粗细(1px)、线型(直线) */
border: black 1px solid;
}
div {
/* 方式二:三要素拆分(遵循四方向原则) */
border-width: 1px 2px;
border-style: dashed;
border-color: red green blue yellow;
}
div {
/* 方式三:方向拆分 */
border-top: 10px solid red;
border-right: 10px solid red;
border-bottom: 10px solid red;
border-left: 10px solid red;
}
- margin:外边距,控制盒子与盒子之间的间距。使用方式与padding一致。
- 设置水平居中:
- 块级元素:margin: 0 auto;
- 行内元素或行内块级元素:父元素的text-align: center;(把行内元素和行内块元素当做文本使用)
- 垂直外边距合并:当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。一种情况时同级元素上下相邻,一种情况是父子元素上下相邻。
- 垂直外边距合并解决方案:
- 父容器设置边界(border或者padding设置1px)
- 父容器overflow: hidden;(或auto)
- 父容器或子容器:float: left;(不能是auto)
- 父容器或子容器:position: absolute;
- 子容器:display: inline-block;(或是inline-table)
- 相邻元素:任意一个添加float: left;(不能是auto)
- :圆角边框、盒子阴影、文字阴影
- CSS新增样式(一)圆角边框border-radius属性:原理是设置的长度为半径画四个圆产生的弧度。当盒子为正方形并且圆角属性设置为50%边长则可画出个圆。
.father {
height: 200px;
width: 200px;
background-color: black;
/* 设置圆角:半径=50%边长为画圆。也可以四个角分别赋值和拆开赋值。支持px,百分比,em */
border-radius: 50%;
}
- CSS新增样式(二)盒子阴影box-shadow属性:盒子阴影不占空间,属性值较多,在注释上标明
.father {
/*
offset-x:阴影的水平偏移量。正数向右偏移,负数向左偏移。
offset-y:阴影的垂直偏移量。正数向下偏移,负数向上偏移。
blur:阴影模糊度,不能取负数。
spread:阴影大小。正数阴影扩大(阴影大小大于盒子大小),负数阴影缩小(阴影大小小于盒子大小),0阴影与盒子同等大小。
inset:inset表示添加内阴影,默认不填为外阴影。
*/
box-shadow: -20px 10px 50px rgb(0, 0, 0, .3);
}
- CSS新增样式(三)文字阴影text-shadow属性:文字阴影不占空间,属性值较多,在注释上标明
.father {
/*
h-shadow 必需。水平阴影的位置。允许负值。
v-shadow 必需。垂直阴影的位置。允许负值。
blur 可选。模糊的距离。
color 可选。阴影的颜色。
*/
text-shadow: 3px 4px 5px rgb(0, 0, 0, .3);
}
浮动
- 标准流:按照规定好的方式进行排列。
- 浮动:float属性设置left、right。
.father {
height: 500px;
width: 500px;
background-color: white;
border: 1px solid black;
margin: 100px;
} /* .a {
float: left;
} */ .b {
float: right;
} /* .c {
background-color: red;
} */ /* .c {
float: right;
} */
- 清除浮动:overflow:hidden。清除浮动原因是父类因为子类浮动而丧失了高度,导致塌陷。
定位
- position:absolute、relative、static(默认)、fixed
- 静态定位:static。
- 相对定位:relative。
- 绝对定位:absolute。定位以最低一级有定位的元素进行绝对定位偏移,如果都没没有,则最后以浏览器进行绝对定位偏移。脱离标准流。
div.relative {
position: relative;
width: 400px;
height: 200px;
border: 3px solid #73AD21;
} div.absolute {
position: absolute;
top: 80px;
right: 0;
width: 200px;
height: 100px;
border: 3px solid #73AD21;
}
- 固定定位:fixed。以浏览器可视窗口而定位。即使滚动页面,它也始终位于同一位置。脱离标准流。
div.fixed {
position: fixed;
bottom: 0;
right: 0;
width: 300px;
border: 3px solid #73AD21;
}
- 粘性定位:sticky。先会(相对定位),直到在可视窗口中遇到给定的偏移位置为止,然后将其“粘贴”在适当的位置(固定定位)
div.sticky {
position: -webkit-sticky;
position: sticky;
top: 0;
padding: 5px;
background-color: #cae8ca;
border: 2px solid #4CAF50;
}
- 子绝父相:子绝父相的意思是在父类的position属性是relative的情况下,子类的position属性又是absolute的情况下,那么我们的子类这时其实不是在body中absolute而是在其父类的范围中absolute,最好给父类设置边界。
- 重叠次序:在对元素进行定位时,它们可能与其他元素重叠。z-index属性用于指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。
img {
position: absolute;
left: 0px;
top: 0px;
z-index: -1;/* 表示在最下面 */
}
溢出
- 溢出:overflow属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。仅适用于具有指定高度的块元素。
- visible:默认。溢出没有被剪裁。内容在元素框外渲染。
- hidden:溢出被剪裁,其余内容将不可见。
- scroll:溢出被剪裁,同时添加滚动条以查看其余内容。
- auto:与scroll类似,但仅在必要时添加滚动条。
overflow-x、overflow-y:属性规定是仅水平还是垂直地(或同时)更改内容的溢出。
div {
overflow-x: hidden; /* 隐藏水平滚动栏 */
overflow-y: scroll; /* 添加垂直滚动栏 */
}
显示与隐藏
display属性规定是否/如何显示元素。
none:隐藏元素
block:显示元素
inline:
- 精灵图:图像精灵就是单个图像中包含的图像集合,包含许多图像的网页可能需要很长时间才能加载,同时会生成多个服务器请求。使用图像精灵将减少服务器请求的数量并节约带宽。
CSS(2)盒子模型、定位浮动的更多相关文章
- #CSS的盒子模型、元素类型
CSS的盒子模型.元素类型 本文首先介绍了CSS元素的统一内部结构模型,盒子模型:然后介绍了CSS元素基于不同分类标准定义的元素类型,包括基于不同内容设置方式定义的replaced元素和non-r ...
- 深入了解CSS中盒子模型
CSS中盒子模型介绍 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什 ...
- 深入理解CSS系列(一):理解CSS的盒子模型
接触前端也有好几个年头了,但是,讲实话,对于CSS的理解真的是不敢恭维,相信很多同行也有类似的感受吧!这是为什么呢?因为我们都认为CSS太简单了,没有必要深入学习,果真如此?其实,只不过是自己图样图森 ...
- 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)
这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...
- 使用css弹性盒子模型
提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...
- CSS 弹性盒子模型
CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...
- css的核心内容 标准流、盒子模型、浮动、定位等分析
1.块级元素:如:<div></div>2.行内元素:如:<span></span>从效果中看块级元素与行内元素的区别: 通过CSS的设置把行内元素转换 ...
- {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性 定位(position)z-index
前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...
- css进阶----盒子模型,Reset CSS,css浮动,css定位,z-index属性
盒子模型 把页面上的每一个元素当成一个盒子 由内容,内边距,边框,外边距组成 盒子模型举例 <!DOCTYPE html> <html lang="en"> ...
- 前端之CSS——盒子模型和浮动
一.CSS盒子模型 HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒子模型. 盒子模型通过四个边界来描述:margin(外边距),border(边框 ...
随机推荐
- RE.从单链表开始的数据结构生活(bushi
单链表 单链表中节点的定义 typedef struct LNode{ int data;//数据域 struct LNode *next;//定义一个同类型的指针,指向该节点的后继节点 }LNode ...
- Qt中检查槽函数connect是否正确
环境:VS2017+Qt插件 一般情况下VS+QT环境下运行的QT程序输出信息需要在调试模式的输出栏可以看到,由于太多信息所以导致查看不方便(当然也可以在筛选选项中筛选信息). 有更方便查看输出信息的 ...
- 0609-搭建ResNet网络
0609-搭建ResNet网络 目录 一.ResNet 网络概述 二.利用 torch 实现 ResNet34 网络 三.torchvision 中的 resnet34网络调用 四.第六章总结 pyt ...
- 爬虫简介、requests 基础用法、urlretrieve()
1. 爬虫简介 2. requests 基础用法 3. urlretrieve() 1. 爬虫简介 爬虫的定义 网络爬虫(又被称为网页蜘蛛.网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程 ...
- 【缓存池】转-Mysql参数innodb_buffer_pool_size
转自:https://blog.csdn.net/kk185800961/article/details/79378313/ 以下考虑主要为 Innodb 引擎 [ innodb_buffer_poo ...
- 一个DDOS病毒的分析(二)
一.基本信息 样本名称:hra33.dll或者lpk.dll 样本大小: 66560 字节 文件类型:Win32的dll文件 病毒名称:Dropped:Generic.ServStart.A3D47B ...
- 利用 ROP 技术绕过 DEP 保护的一次简单尝试
\x 01 前言 DEP是数据执行保护的英文缩写,全称为Data Execution Prevention.数据执行保护(DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意 ...
- 老师不讲的C语言知识
老师不讲的C语言知识 导语: 对于工科生,C语言是一门必修课.标准C(ANSI C)这个看似简单的语言在硬件底层编程.嵌入式开发领域还是稳坐头把交椅.在20年5月份,C语言就凭借其在医疗设备上的广泛应 ...
- JS阻止冒泡事件
<!DOCTYPE html><html><head> <title></title> <style type="text/ ...
- MySQL字段默认值设置详解
前言: 在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值.关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字 ...