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(边框 ...
随机推荐
- linux中[gcc -shared -fPIC]的含义
linux在gcc编译时加上 -shared 参数时,目的是使源码编译成动态库 .so 文件: 而-fPIC的作用是 告知编译器 生成位置无关代码(编译产生的代码没有绝对位置,只有相对位置):从而可以 ...
- 这一次,彻底搞懂 Go Cond
hi,大家好,我是 haohongfan. 本篇文章会从源码角度去深入剖析下 sync.Cond.Go 日常开发中 sync.Cond 可能是我们用的较少的控制并发的手段,因为大部分场景下都被 Cha ...
- 群晖 创建nfs 共享文件夹 k8s 使用
1) 打开控制面板 2) 打开共享文件夹 3) 新增共享文件夹 4) 基本信息配置 2) 3) 4) 5) 点完确定,应该会退出,继续选中刚才创建的,点编辑 2) 3) 5)返回主页面,点击file ...
- 1144 The Missing Number
Given N integers, you are supposed to find the smallest positive integer that is NOT in the given li ...
- 02- APP需求分析与APP测试流程
在展开一轮测试的时候,我们要遵循一个规范的流程. APP测试流程: 项目立项:简单介绍项目内容是什么? 需求评审:开发,测试,和产品. 分析需求:编写测试用例 测试用例评审:一般测试团队参加,测试点是 ...
- WordPress伪静态规则设置
伪静态:即网站本身是动态网页如.php..asp..aspx等格式,而这类网页还带"?"加参数来读取数据库.开启伪静态后,动态网页即被转换重写成静态网页类型页面. WordPres ...
- 【JDK8】JDK 8 中Stream流中的去重的方法
JDK 8 中Stream流中去重的方法 1.简单的去重,可以使用distinct()方法去重,该方法是通过比较equals和hashcode值去去重, 2.复杂的去重, 例如,在一个JavaBean ...
- hdu4829 带权并查集(题目不错)
题意: Information Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- 编译Android内核 For nexus 5 以及绕过Android的反调试
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54880488 前面的博客中已经记录了Nexus 5手机的Android 4.4.4 ...
- 基于Xposed Hook实现的Android App的协议算法分析小工具-CryptoFucker
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80962121 在进行Android应用的网络协议分析的时候,不可避免涉及到网络传 ...