【博学谷学习记录】超强总结,用心分享|前端CSS总结(一)
CSS总结(一)
shift+alt,选中多行
外链式
<link rel="stylesheet" href="./my.css">
1 选择器
1.1 标签选择器
结构:标签名
1.2 类选择器
结构:.类名{ }
1.3 id选择器
结构:#id属性值{ }
作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式
注意点:
所有标签上都有id属性
id属性值类似于身份证号码。在一个页面中是唯一的,不可重复的!
一个标签上只能有一个id属性值
一个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 的倍数)
应用:
- 让单行文本垂直居中可以设置 line-height :文字父元素高度
- 网页精准布局时,设置 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的标签,设置样式
注意点:
后代包括:儿子、孙子、重孙子...
后代选择器中,选择器与选择器之间通过 空格 隔开
3.1.2子代选择器
作用:根据HTML标签的嵌套关系,选择父元素 子代中 满足条件的元素
选择器语法:选择器1 > 选择器2 { css }
结果:在选择器1所找到标签的后代(儿子)中,找到满足选择器2的标签,设置样式
注意点:
- 子代只包括:儿子
- 子代选择器中,选择器与选择器之间通过 > 隔开
3.2 并集选择器
作用:同时选择多组标签,设置相同样式
选择器语法:选择器1 , 选择器2 { css }
结果:找到 选择器1 和 选择器2 选中的标签,设置样式
注意点:
- 并集选择器中的每组选择器之间通过 , 分隔
- 并集选择器中的每组选择器可以是 基础选择器 或者 复合选择器
- 并集选择器中的每组选择器通常一行写一个,提高代码的可读性
3.3 交集选择器
作用:选中页面中 同时满足 多个选择器的标签
选择器语法:选择器1选择器2 { css }
结果:
(既又原则)找到页面中 即 能被选择器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
书写顺序:随意
注意:
- 把单独的样式写在连写的下面
- 把单独的样式写在连写的里面
5 元素显示模式
5.1 块级元素
特点:
- 独占一行(一行只能显示一个)
- 宽度默认是父元素的宽度,高度默认由内容撑开
- 可以设置宽高
代表标签:
div、p、h系列、ul、li、dl、dt、dd、form、header、nav、footer......
5.2 行内元素
显示特点:
- 一行可以显示多个
- 宽度和高度默认由内容撑开
- 不可以设置宽高
代表标签:
a、span、b、u、i、s、strong、ins、em、del......
5.3 行内块元素
显示特点:
- 一行可以显示多个
- 可以设置宽高
代表标签:
- 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
注意点:
- !important不能提升继承的优先级,只要是继承优先级最低
- 实际开发中不建议使用!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总结(一)的更多相关文章
- 【博学谷学习记录】超强总结,用心分享|MySql连接查询超详细总结
一.概述 在实际开发中,大部分情况下都不是在单表中进行数据操作,一般都是多张表进行联合查询.通常一个业务就会对应的有好几张表.MySql中的连接查询分为交叉连接,内连接,外连接三部分.其中交叉连接也叫 ...
- 【博学谷学习记录】超强总结,用心分享|Linux修改文件权限方法总结
一.介绍 linux中"一切皆文件".每个文件都设定了针对不同用户的访问权限. 文件权限主要针对以下三种对象: 属主:拥有者 属组:所属的组 其他人:不属于上述两类 二.文件权限 ...
- JavaEE精英进阶课学习笔记《博学谷》
JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...
- 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. ...
- Android课程设计——博学谷1.0
本文讲述了如何应用大三下学期智能移动终端开发技术课程所学知识,完成包含服务器端.客户端程序的应用——博学谷登录模块的开发,结合java语言基本知识,例如:字符串.列表.类.数据库读写等,设计.实现一个 ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- ffmpeg, libav学习记录
转载自:http://hi.baidu.com/y11022053/item/81f12035182257332e0f8196 一个偶然遇到了ffmpeg,看起来不多,而且通用性很强,算是一个扎实的技 ...
- GIT初始学习记录
目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...
- java后端学习记录2019
学习计划 2019年计划 1.学习计算机基础,并加以实践.包括LeetCode刷题.数据库原理(索引和锁.Sql优化等).网络协议(Http.Tcp).操作系统(加深Linux).<Http权威 ...
随机推荐
- 2021东华杯misc project
project 题目附件发现是工程文件,按日期排序只有一个新的exe文件,那考点肯定就在这了 编辑 运行exe生成了一个zip 编辑 打开解压缩的文件发现有三部分编码 base64 quote ...
- 【SSM】学习笔记(二)——SpringMVC入门
原视频链接:https://www.bilibili.com/video/BV1Fi4y1S7ix/?p=43&spm_id_from=pageDriver&vd_source=8ae ...
- 如何免安装使用 Python?推荐 17 个在线的 Python 解释器!
作者:Al Sweigart 译者:豌豆花下猫@Python猫 英文:https://inventwithpython.com/blog/2022/10/30/17-online-python-ide ...
- 2流高手速成记(之七):基于Dubbo&Nacos的微服务简要实现
本节内容会用到之前给大家讲过的这两篇: 2流高手速成记(之六):从SpringBoot到SpringCloudAlibaba 2流高手速成记(之三):SpringBoot整合mybatis/mybat ...
- CH58X/CH57X/V208的Broadcaster(广播者)例程讲解
在对ble进行应用的时候,每个用户的需求可能不尽相同.这里着重介绍从机Broadcaster例程,只广播不连接. 使用该例程时可以在手机使用APP上对Broadcaster进行调试. 安卓端在应用市场 ...
- 解决Halcon转C#时,图像显示的问题
不知道大家在使用Halcon进行图像处理,由于要连续处理多张图片,转为C#代码的时候,使用了Halcon控件显示图像,但是运行的时候,中间的其他图片没有显示在控件上,之前我一直以为是运行速度快导致看不 ...
- RSA、DSA 和 ECC 加密算法有什么区别?
RSA.DSA 和 ECC 加密算法是用于在公钥基础设施中生成密钥的主要算法. 公钥基础设施 (PKI) 用于管理互联网通信和计算机网络中的身份和安全性. 启用 PKI 的核心技术是公钥密码术,这是一 ...
- labuladong
由于 labuladong 的算法网站频繁被攻击,且国内访问速度可能比较慢,所以本站同时开放多个镜像站点: https://labuladong.gitee.io/algo/ https://labu ...
- (工具) 交叉编译 gperftools及使用
交叉编译gperftools及使用 sudo apt-get install kcachegrind # 导出为 callgrind 格式时需要 sudo apt install doxygen-la ...
- Centos安装Nodejs简单方式
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时.本文主要讲的是如何在Linux即Centos上安装Nodejs的简单方式,有比设置环境变量更加简单的方式,那就是设 ...