CSS总结(一)

shift+alt,选中多行

外链式

<link rel="stylesheet" href="./my.css">

1 选择器

1.1 标签选择器

结构:标签名

1.2 类选择器

结构:.类名{ }

1.3 id选择器

结构:#id属性值{ }

作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式

注意点:

  1. 所有标签上都有id属性

  2. id属性值类似于身份证号码。在一个页面中是唯一的,不可重复的!

  3. 一个标签上只能有一个id属性值

  4. 一个id选择器只能选中一个标签

1.4 通配符选择器

结构:*{ }

作用:选中页面中所有标签

2 文字和文本样式

2.1 字体样式

2.1.1 字体大小:font-size

2.1.2 字体粗细:font-weight

取值:

  • 关键字:

    正常 normal
    加粗 bold
  • 纯数字 100~900的整数:

    正常 400
    加粗 700

2.1.3 字体样式:font-style(倾斜)

取值:

正常(默认值):normal

倾斜:italic

2.1.4 字体类型:font-family

2.1.5 字体类型:font属性连写

属性名:font(复合属性

取值:font: style weight size family;

省略要求:只能省略前两个,如果省略了相当于设置了默认值

2.1.6样式层叠问题

样式可以一层一层的层叠覆盖

<style>
p{
color: red;
color: blue;
}
</style>

如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效

2.2 文本样式

2.2.1文本缩进

属性名:text-indent

取值:

  • 数字 + px
  • 数字 + em (推荐:1em = 当前标签的font-size的大小)

2.2.2文本水平对齐方式

属性名:text-align

取值:

属性值 效果
left 左对齐
center 居中对齐
right 右对齐

2.2.3文本修饰

属性值:text-decoration

取值:

属性值 效果
underline 下划线(常用)
line-through 删除线(不常用)
overline 上划线(几乎不用)
none 无装饰线(常用)

注意:开发中会使用 text-decoration :none ; 清除a标签默认的下划线

2.3 line-height行高

作用:控制一行上的上下间距

属性名:line-height

取值:

  • 数字 + px
  • 倍数(当前标签 font-size 的倍数)

应用:

  1. 让单行文本垂直居中可以设置 line-height :文字父元素高度
  2. 网页精准布局时,设置 line-height :1 可以取消上下间距

行高与font连写注意点:

  • 如果同时设置了行高与font连写,注意覆盖问题
  • font: style weight size/line-height family ;

垂直居中技巧:设置行高属性值 = 自身高度属性值

2.4标签水平居中

margin:0 auto;

3 选择器进阶

3.1 复合选择器

3.1.1 后代选择器

作用:根据HTML标签的嵌套关系,选择父元素 后代中 满足条件的元素

选择器语法:选择器1 选择器2 { css }

结果:在选择器1所找到标签的后代(儿子、孙子、重孙子...)中,找到满足选择器2的标签,设置样式

注意点:

  1. 后代包括:儿子、孙子、重孙子...

  2. 后代选择器中,选择器与选择器之间通过 空格 隔开

3.1.2子代选择器

作用:根据HTML标签的嵌套关系,选择父元素 子代中 满足条件的元素

选择器语法:选择器1 > 选择器2 { css }

结果:在选择器1所找到标签的后代(儿子)中,找到满足选择器2的标签,设置样式

注意点:

  1. 子代只包括:儿子
  2. 子代选择器中,选择器与选择器之间通过 > 隔开



3.2 并集选择器

作用:同时选择多组标签,设置相同样式

选择器语法:选择器1 , 选择器2 { css }

结果:找到 选择器1 和 选择器2 选中的标签,设置样式

注意点:

  1. 并集选择器中的每组选择器之间通过 , 分隔
  2. 并集选择器中的每组选择器可以是 基础选择器 或者 复合选择器
  3. 并集选择器中的每组选择器通常一行写一个,提高代码的可读性

3.3 交集选择器

作用:选中页面中 同时满足 多个选择器的标签

选择器语法:选择器1选择器2 { css }

结果:

(既又原则)找到页面中 即 能被选择器1选中。又 能被选择器2选中的标签,设置样式

注意点:

  1. 交集选择器中的选择器之间是紧挨着的,没有东西分隔
  2. 交集选择器中如果有标签选择器,标签选择器必须写在最前面

3.4 hover伪类选择器

作用:选中鼠标悬停在元素上的状态,设置样式

选择器语法:选择器:hover { css }

3.5 Emmet语法

作用:通过简写语法,快速生成代码

语法:类似于刚刚学习的选择器的写法



4 背景相关属性

4.1 背景颜色

属性名:background-color

注意点:背景颜色默认值是 透明:rgba(0,0,0,0)、transparent

4.2 背景图片

属性名:background-image

属性值:background-image :url ('图片的路径')

4.3 背景平铺

属性名:background-repeat

属性值:

取值 效果
repeat (默认值)水平和垂直方向都平铺
no-repeat 不平铺
repeat-x 沿着水平方向(x轴)平铺
repeat-y 沿着垂直方向(y轴)平铺

4.4 背景位置

属性名:background-position

属性值:background-position:水平方向位置 垂直方向位置

如果指定一个像素值,则该值用于x坐标,y值默居中

4.5 背景相关属性连写

属性名:background

书写顺序:随意

注意:

  1. 把单独的样式写在连写的下面
  2. 把单独的样式写在连写的里面

5 元素显示模式

5.1 块级元素

特点:

  1. 独占一行(一行只能显示一个)
  2. 宽度默认是父元素的宽度,高度默认由内容撑开
  3. 可以设置宽高

代表标签:

div、p、h系列、ul、li、dl、dt、dd、form、header、nav、footer......

5.2 行内元素

显示特点:

  1. 一行可以显示多个
  2. 宽度和高度默认由内容撑开
  3. 不可以设置宽高

代表标签:

a、span、b、u、i、s、strong、ins、em、del......

5.3 行内块元素

显示特点:

  1. 一行可以显示多个
  2. 可以设置宽高

代表标签:

  • input、textarea、button、select......
  • 特殊情况:img标签有行内块元素特点,但是Chrome调试工具中显示结果是inline

5.4 元素显示模式转换

属性 效果 使用频率
display:block 转换成块级元素 较多
display:inline-block 转换成行内块元素 较多
display:inline 转换成行内元素 较少

块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素...

  • 但是:p标签中不要嵌套div、p、h等块级元素

a标签内部可以嵌套任意元素

  • 但是:a标签不能嵌套a标签

6 CSS特性

6.1 继承性

6.2 层叠性

6.3 优先级

优先级公式:

继承 < 通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important

注意点:

  1. !important不能提升继承的优先级,只要是继承优先级最低
  2. 实际开发中不建议使用!important

6.4 权重叠加计算

7 盒子模型

7.1 盒子模型介绍

CSS中规定每个盒子分别由:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)构成,这就是盒子模型

7.2 边框(border)- 连写形式

属性名:border

属性值:单个取值的连写,取值之间以空格隔开

border:10px solid red;

7.2.1边框(border)— 单方向设置

场景:只给盒子的某个方向单独设置边框

属性名:border—方位名词

属性值:连写的取值

7.2.2边框(border)— 单个属性:

7.3 内边距取值

作用:设置边框与内容区域之间的距离

属性值:padding

常见取值:

记忆规则:从上开始赋值,然后顺时针赋值,如果设置赋值的,看对面!

7.3.1 内边距(padding)—单方向设置

场景:只给盒子的某个方向单独设置内边距

属性名:padding - 方位名词

7.4 自动内减

操作:给盒子设置属性 box-sizing:border-box;即可

优点:浏览器会自动计算多余的大小,自动在内容中减去

7.5 外边距(margin)— 取值

作用:设置边框以外,盒子与盒子之间的距离

常见取值:

记忆规则:从上开始赋值,然后顺时针赋值,如果设置赋值的,看对面!

7.5.1 外边距(margin)— 单方向设置

场景:只给盒子的某个方向单独设置外边距

属性值:margin - 方位名词

应用:

【博学谷学习记录】超强总结,用心分享|前端CSS总结(一)的更多相关文章

  1. 【博学谷学习记录】超强总结,用心分享|MySql连接查询超详细总结

    一.概述 在实际开发中,大部分情况下都不是在单表中进行数据操作,一般都是多张表进行联合查询.通常一个业务就会对应的有好几张表.MySql中的连接查询分为交叉连接,内连接,外连接三部分.其中交叉连接也叫 ...

  2. 【博学谷学习记录】超强总结,用心分享|Linux修改文件权限方法总结

    一.介绍 linux中"一切皆文件".每个文件都设定了针对不同用户的访问权限. 文件权限主要针对以下三种对象: 属主:拥有者 属组:所属的组 其他人:不属于上述两类 二.文件权限 ...

  3. JavaEE精英进阶课学习笔记《博学谷》

    JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...

  4. 2020年度钻石C++C学习笔记(2)--《博学谷》

    2020年度钻石C++C--<博学谷> 1.以下标示符中命名合法的是A A.__A__ B.ab.c C.@rp D.2Y_ 2.设 a 和 b 均为 double 型变量,且a=5.5. ...

  5. Android课程设计——博学谷1.0

    本文讲述了如何应用大三下学期智能移动终端开发技术课程所学知识,完成包含服务器端.客户端程序的应用——博学谷登录模块的开发,结合java语言基本知识,例如:字符串.列表.类.数据库读写等,设计.实现一个 ...

  6. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  7. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  8. ffmpeg, libav学习记录

    转载自:http://hi.baidu.com/y11022053/item/81f12035182257332e0f8196 一个偶然遇到了ffmpeg,看起来不多,而且通用性很强,算是一个扎实的技 ...

  9. GIT初始学习记录

    目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...

  10. java后端学习记录2019

    学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威 ...

随机推荐

  1. 1.关于SPring Boot项目的创建

    一.引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spri ...

  2. "一键重装系统软件"操作流程

    博主之前重装系统都是直接用win10系统更新里的重置系统(版本不会变化),和U盘重装电脑出厂映像(有各种品牌自带的软件,而且由于是出场版本,版本很低) 所以这次用"小白一键重装系统" ...

  3. 记一次 .NET 某医疗器械 程序崩溃分析

    一:背景 1.讲故事 前段时间有位朋友在微信上找到我,说他的程序偶发性崩溃,让我帮忙看下怎么回事,上面给的压力比较大,对于这种偶发性崩溃,比较好的办法就是利用 AEDebug 在程序崩溃的时候自动抽一 ...

  4. 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

    摘要:本文讲解常见的图像特效处理,从而让读者实现各种各样的图像特殊效果,并通过Python和OpenCV实现. 本文分享自华为云社区<[Python图像处理] 二十四.图像特效处理之毛玻璃.浮雕 ...

  5. 《上传那些事儿之Nest与Koa》——文件格式怎么了!

    转载自:juejin - 马睿不想说话 概要 本文主要针对在使用node作为服务端接口时,前端上传上传文件至node作为中转,再次上传至oss/cdn的场景.以及针对在这个过程中,需要对同一个文件进行 ...

  6. 云原生之旅 - 6)不能错过的一款 Kubernetes 应用编排管理神器 Kustomize

    前言 相信经过前一篇文章的学习,大家已经对Helm有所了解,本篇文章介绍另一款工具 Kustomize,为什么Helm如此流行,还会出现 Kustomize?而且 Kustomize 自 kubect ...

  7. 5 why 分析法,一种用于归纳抽象出解决方案的好方法

    最近在看了<微信背后的产品观 - 张小龙手抄版>,其中有段话如下: 用户需求是零散的,解决方案是归纳抽象的过程 那如何归纳抽象呢?是否有一定的实践方法论呢?经过一轮探讨和学习,有这些答案: ...

  8. 还在用双层for循环吗?太慢了

    前情提要 我们在开发中经常碰到这样的场景,查出两个 list 集合数据,需要根据他们相同的某个属性为连接点,进行聚合.但是平时我们使用的时候关注过性能吗?下面让我们一起来看看它的表现如何. 来个例子 ...

  9. Django系列---理论一

    教程:http://c.biancheng.net/django/ 特点 集成 ORM 组件:Django 的 Model 层自带数据库 ORM 组件,为操作不同类型的数据库提供了统一的方式. URL ...

  10. 「浙江理工大学ACM入队200题系列」问题 F: 零基础学C/C++39——求方程的解

    本题是浙江理工大学ACM入队200题第四套中的F题 我们先来看一下这题的题面. 由于是比较靠前的题目,这里插一句.各位新ACMer朋友们,请一定要养成仔细耐心看题的习惯,尤其是要利用好输入和输出样例. ...