【0基础前端】CSS-C3总结详细笔记包含代码块从入门到高阶通俗易懂

目录

样式:

1、行内样式

2、内嵌样式

3、外链样式         

样式有哪些?

颜色分类:

行内样式优先级最高

去掉浏览器的默认样式:      

去掉列表的默认样式:

去掉a超链接的下划线

去掉图片的缝隙           

关于font的样式:

选择器

选择器的优先级:

水平居 左(默认)/中/右

垂直居中(行高)

溢出隐藏并且强制在一行

背景图片:

        背景图片分写:

透明度

        opcity 和 background:rgba() 区别

外边距:margin

  外边距的分写:

   外边距的合写:

 内边距:padding

  内边距的分写:

   内边距的合写:

盒子模型组成部分:

盒子模型分为两种:

标准盒子模型 和 怪异盒子模型的相同点和不同点

margin-top值的特征:

margin塌陷 和 margin拖拽

margin塌陷和margin拖拽解决方法:

浮动:

        什么时候用浮动:

        浮动的注意事项:

解决小图标 和 文本左右布局问题

定位分几种?

 3种定位依据谁定位的介绍:

关于父级和子级的定位关系

层级: z-index: 2;(数字越大,层级越高)

        层级的使用条件:

        定位中父级和定位中子级的关系

圆角:

盒子阴影:

边框图片:

渐变:

文本效果:

文本阴影:

盒子阴影:

text-overflow:

关于overflow问题

2D转换(transform):

Css3中的动画效果

Css3中的多列:

Css3中的box-sizing属性

CSS3 弹性盒子内容

语法

justify-content 属性

justify-content的值有:

flex-start:

flex-end:

center:

space-between:

space-around:

align-items 属性

align-items 语法

flex-wrap 属性

flex-wrap 语法

各个值解析:


样式:

1、行内样式

  <div style="width:100px; height:100px; background:red;">123</div>

2、内嵌样式

 <head>

   <style>

     h1{

      width:100px;

      height:100px;

      background:red;
}

   </style>
</head>

3、外链样式         

<head>

    <link rel="stylesheet" href="css路径">

</head>

样式有哪些?

           

width  表示宽
height表示高
background-color表示背景颜色
border表示边框
border: 1px(边框粗细) solid(边框线类型) red(边框线颜色)
solid表示边框线(实线)
dashed表示边框线(虚线)
double表示边框线(双划线)
dotted  表示边框线(点画线)
color 表示字体颜色

颜色分类:

red表示英文红色
#f00表示十六进制红色
rgb(255,255,255) 表示rgb 0 - 25

行内样式优先级最高

内嵌样式 和 外联样式优先级条件是:谁在下面谁优先级高

去掉浏览器的默认样式:      

*{
 margin:0px;
 padding:0px;
}

去掉列表的默认样式:

li{
 list-style:none;
}

去掉a超链接的下划线

a{
text-decoration:none;
}

去掉图片的缝隙           

 img{
vertical-align:top / middle / bottom
}

关于font的样式:

font-size:20px; 表示字体大小为20像素
font-weight:bolder / bold / 100-700表示字体加粗
font-family:'黑体/宋体/微软雅黑'  表示字体类型
font-style:normal; 表示斜体变正体
font-style:oblique; 表示正体变斜体

选择器

id选择器#id名(id名有且只有一个)
class选择器.class名
*选择器(通配符)*
标签选择器标签名
群组选择器div,h1,p,.....
子代选择器div>p
后代选择器div p
属性选择器 [name="user"]
过滤选择器::after / :after、::before / :before
伪类选择器

                link     表示访问前

                hover    表示鼠标移入时

                active   表示访问中..

                visited  表示访问后

选择器的优先级:

            id 的优先级 高于 class

            class 的优先级 高于 标签

水平居 左(默认)/中/

            text-align:left/center/right

垂直居中(行高)

            line-height:和高度保持一致

            例如:

height:100px;
line-height:100px;

溢出隐藏并且强制在一行

white-space:nowrap;表示强制在一行
text-overflow:ellipsis;出现省略号
overflow:hidden;溢出隐藏

           

背景图片:

        背景图片分写:

background-image:url(图片路径)表示引入背景图片
background-repeat:no-repeat / repeat-x / repeat-y;表示背景图片平铺方式(不平铺 / 水平平铺 / 垂直平铺)
background-position:left / top表示背景图片的位置
background-size:10% 20%;表示背景图片的大小
background-clip:border-box / padding-box / content-box;表示背景图片的绘制区域
background-origin:border-box / padding-box / content-box;表示背景图片的定位位置
background-attachment:scroll(默认) / fixed / inherit表示背景图片是否联动
background:url(图片路径) no-repeat center;背景图片的合写

透明度

            1) opcity:0.1 - 0.9;

            2) background:rgba(0,0,0,0.5);

        opcity 和 background:rgba() 区别

            opcity把背景颜色和文本都变透明

            background:rgba() 只把背景颜色变透明

外边距:margin

  外边距的分写:

margin-top:10px;
margin-bottom:10px;
margin-left:10px;
margin-right:10px;

   外边距的合写:

margin:10px;表示上下左右都为10像素
margin:10px 20px;表示上下为10,左右为20
margin:10px 20px 30px;表示上为10,左右为20,下为30
margin:10px 20px 30px 40px;表示上为10, 右为20,下为30,左为40(顺时针)

 内边距:padding

  内边距的分写:

padding-top:10px;
padding-bottom:10px;
padding-left:10px;
padding-right:10px;

   内边距的合写:

padding:10px;表示上下左右都为10像素
padding:10px 20px;表示上下为10,左右为20
padding:10px 20px 30px;表示上为10,左右为20,下为30
padding:10px 20px 30px 40px;表示上为10, 右为20,下为30,左为40(顺时针)

        注意:在使用内边距padding时,要减去宽/高

盒子模型组成部分:

        内容(content) + 内边距(padding) + 边框(border) + 外边距(margin)

盒子模型分为两种:

        1)标准盒子模型

        2)怪异盒子模型

标准盒子模型 怪异盒子模型的相同点和不同点

相同点:

组成部分都是由内容+内边距+边框+外边距

不同点:

标准盒子模型的内容宽高,不包含其他成分

怪异盒子模型的内容宽高由(内容+内边距+边框)

margin-top值的特征:

  谁的值大,用谁的值

margin塌陷 和 margin拖拽

1)margin塌陷:父级的margin-top值 大于 子级的margin-top值

2)margin拖拽: 父级的margin-top值 小于 子级的margin-top值

margin塌陷和margin拖拽解决方法:

            1)position:absolute;

            2)display: inline-block;

            3)float: left;

            4)overflow:hidden;

            5)border:1px solid #000;

margin上下取最大值

margin左右取之和

浮动:

  float:left / right;

        清浮动(给父级添加)

overflow:hidden;

.clearfix:after{
 content:'';
clear:both;
display:block;
}

.clearfix{
zoom:1;
}

谁需要清浮动就加 .clearfix

        什么时候用浮动:

            一般情况下 -> 上下局部 转为 左右布局时用浮动

        浮动的注意事项:

            1)子级浮动,父级要清浮动

            2)同级的元素,一个浮动,其他兄弟元素都要浮动

解决小图标 文本左右布局问题

            1)使用浮动 -> float:left / right;

            2)给img标签添加 -> vertical-align:top / middle / bottom;

给标签添加上划线、中划线、下划线

text-decoration:overline;表示上划线
text-decoration:line-through;表示中划线
text-decoration:underline;表示下划线

定位分几种?

            1)相对定位 -> position:relative;

            2)绝对定位 -> position:absolute;

            3)固定定位 -> position:fixed;

 3种定位依据谁定位的介绍:

            1)相对定位是依据自己本身定位的

            2)绝对定位是依据有定位的父级定位

            3)固定定位是依据body(网页)定位

关于父级和子级的定位关系

            1)子级是绝对定位(position:absolute;)父级只要有定位(无论是相对定位、绝对定位还是固定定位),绝对定位的子级就会依据父级定位。

            2)子级是绝对定位,但父级没定位,子级依据body定位

层级: z-index: 2;(数字越大,层级越高)

        层级的使用条件:

            必须有定位(无论是相对定位、绝对定位还是固定定位)

        定位中父级和定位中子级的关系

            1)父级的层级永远比相对定位/绝对定位的子级低

            2)相同定位的子级,谁的z-index数值越大,谁的层级越高

圆角:

border-radius:20px / 20%;

圆角的分写:       

        表示左上角

border-top-left-radius:20px;

        表示右上角

border-top-right-radius:30px;

        表示左下角

border-bottom-left-radius:40px;

        表示右下角

border-bottom-right-radius:50px;

圆角的合写:

border-radius:10px 20px 30px 40px;

表示左上角、右上角、右下角、左下角(顺时针方向)

盒子阴影:

box-shadow: 1px(阴影水平位置)  1px(阴影垂直位置)  10px(模糊度)  #000(阴影颜色)

边框图片:

border-image:url(图片路径) 左右拉伸 上下拉伸  围绕方式round(平铺填充) / stretch(拉伸填充)

渐变:

  1. 线性渐变:linear-gradient

                  background-image: Linear-gradient(方向, 颜色1,  颜色2)

  1. 径向渐变:radial-gradient

                   background-image: radial-gradient(circle/ellipse, 颜色1,  颜色2)

文本效果:

文本阴影:

text-shadow: 5px(水平阴影位置)  5px(垂直阴影位置)  10px(模糊度)  #f00(阴影颜色);

盒子阴影:

box-shadow:5px(水平阴影位置)  5px(垂直阴影位置)  10px(模糊度)  #f00(阴影颜色);

text-overflow:

A: text-overflow:clip; (默认值)

B: text-overflow:ellipsis; (出现省略号)

注意:溢出隐藏出现省略号

white-space:nowrap;//表示强制在一行
overflow:hidden; //溢出隐藏
text-overflow:ellipsis;//出现省略号
word-wrap:break-word;表示换行(如果有空格自动换行,没有空格分裂中间的部分)
word-break:keep-all;表示换行(只能在半角空格或连字符处换行)
word-break:normal;表示默认(使用浏览器默认的换行规则)
word-break:break-all;表示换行(允许在单词内换行)

关于overflow问题

 overflow:hidden;//表示溢出隐藏
overflow:scroll;//表示出现上下左右滚动条
overflow:auto;//表示出现上下滚动条

2D转换(transform):

transform:translate(10px(X轴), 30px(Y轴)); //表示平移
transform:rotate(30deg / -30deg);//表示旋转正数顺时针,负数逆时针
transform:scale(1.5, 2) / (1.5);  // 表示缩放原来的倍数
transform:skew(30deg, 20deg) / skewX(20deg) / skewY(30deg);  //表示倾斜

transformorigin:left/right/center/20%top

/center/bottom/30%;

 //表示改变元素的基点位置

3D转换:

 transform-rotateX(30deg); // 表示3D旋转(围绕x轴)
 transform-rotateY(20deg);// 表示3D旋转(围绕Y轴)
transform-style:preserve-3d;//表示保留子元素的3D空间效果
perspective:100px;// 表示景深(透视效果)
perspective-origin:left/right/center/20%  top/center/bottom/20%;//表示改变景深(透视)底部基点位置
backface-visibility:hidden / visible;  //表示当元素背面向屏幕时是否可见

Css3中的过渡

transition:css属性名称  过渡时间(s)  运动方式(ease/linear)  延迟时间(s)

例如:    

transition:width 2s ease 2s

transition:all 1s linear 2s (推荐使用这种)

注意事项:使用过渡一定要给元素的原样式上面添加

Css3中的动画效果

  1. 创建动画
@keyframes  name名称{

from / 0%{

原样式

}

to/100%{

改变后的样式

}

}
  1. 绑定动画

animation: name名称  动画时长(s)  运动方式(linear/ease)  延迟时间(s)  是否停在当动画位置(forwards/normal)  运动次数(3/ infinite无限循环)  是否反方向运动(normal/reverse/alternate/alternate-reverse)

例如:

animation:move 2s linear 1s forwards infinite alternate

animation-play-state:paused; 表示动画停止

Css3中的多列:

column-count指定元素应该被分割的列数。
column-gap指定列与列之间的间隙
column-rule所有 column-rule-* 属性的简写
column-rule-color指定两列间边框的颜色
column-rule-style指定两列间边框的样式     
column-rule-width指定两列间边框的厚度
column-span指定元素要跨越多少列
column-width指定列的宽度
columns指的是column-width 与 column-count 的简写属性

Css3中的box-sizing属性

box-sizing:border-box;表示边框包含在容宽度和高度内
box-sizing:content-box;表示边框未包含在内容宽度和高度内
box-sizing:inherit;表示边框的属性继承父级中的box-sizing属性

CSS3 弹性盒子内容

  1. 弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成。
  2. 弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。
  3. 弹性容器内包含了一个或多个弹性子元素。
  4. 注意: 弹性容器外及弹性子元素内是正常渲染的。弹性盒子只定义了弹性子元素如何在弹性容器内布局。
  5. 弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行。

flex-direction 属性指定了弹性子元素在父容器中的位置

语法

flex-direction: row | row-reverse | column | column-reverse

flex-direction的值有:

row横向从左到右排列(左对齐),默认的排列方式。
row-reverse反转横向排列(右对齐,从后往前排,最后一项排在最前面。
column纵向排列。
column-reverse反转纵向排列,从后往前排,最后一项排在最上面。

justify-content 属性

语法:

justify-content: flex-start | flex-end | center | space-between | space-around

justify-content的值有:

flex-start

弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。

flex-end

弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。

center

弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。

space-between

弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。

space-around

弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。

align-items 属性

表示:设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。

align-items 语法

align-items: flex-start | flex-end | center | baseline | stretch

各个值解析:

flex-start弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
stretch如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

flex-wrap 属性

         表示:用于指定弹性盒子的子元素换行方式。

flex-wrap 语法

flex-wrap: nowrap|wrap|wrap-reverse;

各个值解析:

nowrap- 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
wrap- 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行
wrap-reverse-反转 wrap 排列。

align-content 属性

         表示用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。

align-content 语法

align-content: flex-start | flex-end | center | space-between | space-around | stretch

各个值解析:

stretch- 各行向弹性盒容器的起始位置堆叠。
flex-end- 各行向弹性盒容器的结束位置堆叠。
center-各行向弹性盒容器的中间位置堆叠。
space-between-各行在弹性盒容器中平均分布。
space-around- 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。

order弹性子元素属性

表示:排序

语法

order:

各个值解析:

order:数字  表示用整数值来定义排列顺序,数值小的排在前面。可以为负值。

order 属性设置弹性容器内弹性子元素的属性:

align-self

属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。

语法

align-self: auto | flex-start | flex-end | center | baseline | stretch

各个值解析:

auto如果'align-self'的值为'auto',则其计算值为元素的父元素的'align-items'值,如果其没有父元素,则计算值为'stretch'。
flex-start弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
center弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
baseline如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
stretch如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

flex

属性用于指定弹性子元素如何分配空间。

例如:flex:1

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白鱼塘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值