Ashun's 技術駅 Ashun's 技術駅
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ashun

前端界的小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • Vue
  • 现代web布局
  • React
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 技术资源
  • 第一阶段

    • HTML
  • 第二阶段

    • JavaScript
  • 第三阶段

    • Vue
  • 第四阶段

    • 实战项目
  • 每周测试

    • 每周
  • 其他

    • Vue引入UI框架
    • Web前端面试
    • Vue3-resource
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 福利资源
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 第一阶段

    • HTML
    • CSS
      • 1、字体的样式
      • 2、文本样式
      • 3、装饰样式
      • 4、排版布局样式
        • 1)盒子模型
        • 2)浮动
        • 3)定位
        • 4)弹性布局
        • 5)网格布局
    • 响应式
  • 第二阶段

  • 第三阶段

  • 第四阶段

  • 每周测试

  • 其他

  • 书籍
  • 第一阶段
ashun
2022-02-13
目录

CSS

# CSS

CSS 指层叠样式表 (Cascading Style Sheets)

CSS 指层叠样式表 (Cascading Style Sheets)

样式定义如何显示 HTML 元素

样式通常存储在样式表中

把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题

外部样式表可以极大提高工作效率

外部样式表通常存储在 CSS 文件中

多个样式定义可层叠为一个

# css能做什么

1、装饰页面。2、排版布局。
1

# css如何使用

1、内嵌样式
<div style="color: blue;">内容</div>

2、内联样式
<style></style>

3、外联样式
<link rel="stylesheet" href="./index.css">
1
2
3
4
5
6
7
8

# css优先级(权重)

css优先级(权重)
    作用范围越小,权重越高。
    同样的作用范围,后面的样式覆盖前面的样式。
1
2
3

# css选择器

//必记:id、class、元素、后代nth-child、兄弟选择、伪类、通配符
1、id选择器 例如:#a。id就像人的身份证一样,每个人都只有一个
2、class选择器 例如:.a。 class就像类别,每个人可以有多个类别
3、元素选择器 例如:div。可以选择所有的元素。
4、后代选择器 例如:.a .b。.a>.b。 可以选择.a里面的.b
    指定选择第一个子元素 例如:ul li:first-child
    指定选择最后一个子元素 例如:ul li:last-child
    指定选择某个指定的子元素 例如:ul li:nth-child(2)
    指定选择某个制定的子元素(兼容ie678) 例如:ul li:first-child+li
    指定选择偶数的子元素 例如:ul li:nth-child(even).ul li:nth-child(2n+2)
    指定选择奇数的子元素 例如:ul li:nth-child(odd).ul li:nth-child(2n+1)
5、兄弟选择器(相邻选择器)例如:div,p
6、伪类选择器 例如:div:hover。鼠标悬停上去div触发的效果
7、伪元素 例如ul::after 在ul的最后一个子项位置添加元素
8、通配符选择 例如:*。选中所有的元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 浏览器内核

浏览器内核
    谷歌的chrome浏览器:旧 webkit 新 blink
    苹果的safari浏览器:webkit
    火狐的firefox浏览器:moz
    欧朋浏览器:        o
    微软的ie浏览器:    ms
    微软的edge浏览器    Chromium
1
2
3
4
5
6
7

# css样式

# 1、字体的样式

color: red; //设置字体颜色
font-size: 60px; //字体大小
font-weight: bold; //字体加粗
font-style: italic; //字体倾斜
font-family:""; //字体

//字体设置
@font-face {
  font-family: "abc";
  src: url("abc.TTF");
}
div{
  font-size: 60px;
  font-family:'abc';//使用字体
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 2、文本样式

text-decoration: underline; //下滑线
text-decoration: line-through; //删除线
text-align: center; //文本的水平居中
line-height:100px; //行高
display: table-cell;//转成表格元素
vertical-align: middle;//垂直居中
letter-spacing: 20px; //字间距
text-indent: 2em; //首行缩进2个字节
word-break: break-all; //所有的英文不管是否是一个单词都会换行
word-wrap: break-word; //识别到一个单词就会自动换行
overflow: hidden;//超出的部分隐藏
text-overflow: ellipsis;//超出的文本设置为省略号
1
2
3
4
5
6
7
8
9
10
11
12
//垂直居中
<div>
  <p>内容1</p>
  <p>内容2<p>
</div>

<style>
  div{
    width: 300px;
    height: 300px;
    border: 1px solid;
    display: table-cell;
    vertical-align:middle;
  }
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 3、装饰样式

width //宽度
height //高度
border: 1px solid #; //边框 (边框粗细 边框类型 边框颜色)
background //背景 no-repeat 不重复 center 居中
    linear-gradient(to right, red , yellow) //css3 线性渐变 (方向,初始颜色,结束颜色)
background-size: 100% 100%; //背景尺寸
border-radius: 20px; //css3 圆角边框
opacity: 0.5; //css3 透明度 0~1 
box-shadow: 5px 5px 5px 5px #000; //css3(x轴、y轴、阴影偏移度、阴影大小、阴影颜色)
text-shadow: 2px 2px 2px #000; //css3(x轴、y轴、阴影偏移度、阴影颜色)
transform //css3 变形
    scale(0.5,1) //缩放(x轴,y轴)
    rotate(30deg) //旋转(角度)
    skew(30deg,30deg)//倾斜角度
    translate(200px,200px) //平移
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 4、排版布局样式

# 1)盒子模型

margin 外边距
padding 内边距

边距塌陷:块级元素的上下外边距会出现边距塌陷。
解决方法:在父级元素添加 overflow:hidden;
1
2
3
4
5

# 2)浮动

浮动:浮动元素可以理解为浮起来的木板,非浮动元素可以立即为水流
浮动元素属于非正常文档流
浮动元素拥有把所有 元素变成了行内块级的特性
1
2
3
浮动塌陷:当一个元素里面只有浮动的元素,那么就会出现浮动塌陷
清除浮动

兼容所有浏览器的清除浮动写法
.clearFix::after{
    content: "";/*内容为空*/
    visibility: hidden;/*隐藏*/
    height: 0;/*高度为0*/
    display: block;/*转位块级元素*/
    clear: both;/*清除浮动*/
  }
1
2
3
4
5
6
7
8
9
10
11

# 3)定位

相对定位 position: relative; 相对于自己定位。

绝对定位 position: absolute; 相对于有相对定位的父级元素进行定位,没有的时候就相对于body。

固定定位  position: fixed; 相对于浏览器定位。
1
2
3
4
5

# 4)弹性布局

css3样式
//父级元素样式
display: flex; //弹性布局
flex-direction //设置主轴的方向
    row //主轴为水平方向,起点在左端。
    row-reverse //主轴为水平方向,起点在右端。
    column //主轴为垂直方向,起点在上沿。
    column-reverse //主轴为垂直方向,起点在下沿。

flex-wrap //设置是否换行
    wrap //换行

justify-content //主轴的对齐方式
    center //居中
    space-between //两端对齐
    space-around //每个元素两侧的间隔相等
    space-evenly //每个间隔都相等

align-items //交叉轴对齐方式
    center //居中

align-content //多行对齐方式
    center //居中

//子级元素样式
order //属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

flex-grow //属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
//如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。

flex-shrink //属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
//如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
//负值对该属性无效。

flex-basis //属性定义了在分配多余空间之前,项目占据的主轴空间
//效果跟宽度一样

flex //flex-grow, flex-shrink 和 flex-basis的简写
//1 1 auto,0 0 auto
//建议用这个

align-self //单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

# 5)网格布局

//父元素
display:grid;
grid-template-columns:repeat(3,1fr);//定义每一列的列宽 1fr代表1个片段,总宽占的比例 repeat是重复
grid-template-rows: repeat(3,1fr);//定义每一行的行宽

//子元素
grid-column-start: 1;//控制单元格的从哪里开始
grid-column-end: 3;//控制单元格的从哪里结束
grid-row-start: 1;
grid-row-end: 3;
1
2
3
4
5
6
7
8
9
10
编辑 (opens new window)
上次更新: 2022/04/24, 13:33:34
HTML
响应式

← HTML 响应式→

最近更新
01
课件-react路由-V6
01-22
02
课件-国际化
01-22
03
课件-redux-toolkit
01-22
更多文章>
Theme by Vdoing | Copyright © 2019-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式