盒子模型
    • 盒子模型:一个盒子中主要的属性就5个。width与height、padding、border、margin。盒子模型标准有两种为标准盒模型和IE盒模型。学习上以标准盒子模型为主
    1. width和height  :内容的宽度、高度(不是盒子的宽度、高度)。
    2. padding           :盒子内边距。
    3. border        :盒子边框。
    4. 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属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。仅适用于具有指定高度的块元素。
  1. visible:默认。溢出没有被剪裁。内容在元素框外渲染。
  2. hidden:溢出被剪裁,其余内容将不可见。
  3. scroll:溢出被剪裁,同时添加滚动条以查看其余内容。
  4. auto:与scroll类似,但仅在必要时添加滚动条。
  • overflow-x、overflow-y:属性规定是仅水平还是垂直地(或同时)更改内容的溢出。

div {
overflow-x: hidden; /* 隐藏水平滚动栏 */
overflow-y: scroll; /* 添加垂直滚动栏 */
}

显示与隐藏

display属性规定是否/如何显示元素。

none:隐藏元素

block:显示元素

inline:

  • 精灵图:图像精灵就是单个图像中包含的图像集合,包含许多图像的网页可能需要很长时间才能加载,同时会生成多个服务器请求。使用图像精灵将减少服务器请求的数量并节约带宽。

CSS(2)盒子模型、定位浮动的更多相关文章

  1. #CSS的盒子模型、元素类型

    CSS的盒子模型.元素类型   本文首先介绍了CSS元素的统一内部结构模型,盒子模型:然后介绍了CSS元素基于不同分类标准定义的元素类型,包括基于不同内容设置方式定义的replaced元素和non-r ...

  2. 深入了解CSS中盒子模型

    CSS中盒子模型介绍 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什 ...

  3. 深入理解CSS系列(一):理解CSS的盒子模型

    接触前端也有好几个年头了,但是,讲实话,对于CSS的理解真的是不敢恭维,相信很多同行也有类似的感受吧!这是为什么呢?因为我们都认为CSS太简单了,没有必要深入学习,果真如此?其实,只不过是自己图样图森 ...

  4. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

    这些HTML.CSS知识点,面试和平时开发都需要 No1-No4   系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...

  5. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  6. CSS 弹性盒子模型

    CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...

  7. css的核心内容 标准流、盒子模型、浮动、定位等分析

    1.块级元素:如:<div></div>2.行内元素:如:<span></span>从效果中看块级元素与行内元素的区别: 通过CSS的设置把行内元素转换 ...

  8. {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性  定位(position)z-index

    前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...

  9. css进阶----盒子模型,Reset CSS,css浮动,css定位,z-index属性

    盒子模型 把页面上的每一个元素当成一个盒子 由内容,内边距,边框,外边距组成 盒子模型举例 <!DOCTYPE html> <html lang="en"> ...

  10. 前端之CSS——盒子模型和浮动

    一.CSS盒子模型 HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒子模型. 盒子模型通过四个边界来描述:margin(外边距),border(边框 ...

随机推荐

  1. 详细Tomcat安装及问题排查

    一.安装 1.下载官网:https://tomcat.apache.org/ 2.将下载后的包解压到目录中会出现以下页面 3.设置环境变量,向path中添加tomcat的bin目录地址 4.cmd进入 ...

  2. Spring 学习笔记(二):SpringIoC

    1 IoC与DI IoC是Inversion of Control的简称,也就是控制反转.通常来说,创建对象需要调用者手动创建,也就是new XXX()的方式.当Spring框架出现后,对象的实例不再 ...

  3. IDEA - 返回上一步,回到下一步 代码 快捷键

    回到上一步 ctrl + alt + < 回到下一步 ctrl + alt + >

  4. Day17_106_IO_利用Buffered和BufferWriter完成复制

    利用Buffered和BufferWriter完成复制 代码示例: 用BufferedReader 和 BufferWriter完成复制 import java.io.*; public class ...

  5. 面试系列<5>——面向对象

    面试系列--面向对象思想 一.三大特性 封装 利用抽象数据类型将数据和基于数据的操作封装在一起,使其成为一个不可分割的独立实体.数据被保护在抽象数据类型内部,尽可能地隐藏内部细节,只保留一些对外的接口 ...

  6. python set 一些用法

    add(增加元素) name = set(['Tom','Lucy','Ben']) name.add('Juny') print(name)#输出:{'Lucy', 'Juny', 'Ben', ' ...

  7. 1027 Colors in Mars

    People in Mars represent the colors in their computers in a similar way as the Earth people. That is ...

  8. form表单验证提交

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Ribbon、Feign和OpenFeign的区别

    Spring Cloud 微服务架构学习记录与示例 Ribbon Ribbon 是 Netflix开源的基于HTTP和TCP等协议负载均衡组件 Ribbon 可以用来做客户端负载均衡,调用注册中心的服 ...

  10. Windows核心编程 第二十章 DLL的高级操作技术

    第2 0章 D L L的高级操作技术 看了下这章的内容,谈不上高级,都是些常用相关,但是还是有一些细节需要注意. 20.1 DLL模块的显式加载和符号链接 如果线程需要调用D L L模块中的函数,那么 ...