css总结

发布于:2023-01-17 ⋅ 阅读:(624) ⋅ 点赞:(0)

1.css的介绍

1.1 W3C的介绍

结构层:HTML 表现层:CSS 行为层:JavaScript(js)

1.2 什么是css

css是层叠样式表

2.层叠样式表CSS

2.1 css的引入方式

四种:行内样式、内嵌样式、外链样式、导入样式

2.1.1 行内样式

行内样式又叫做标签样式,它是在标签里面加上style属性

2.1.2 内嵌样式

写在style标签内(style标签写在head标签内) 

 2.1.3 外链样式

第一步:新建一个.css的文件,专门写css样式

第二步:head标签内需要写入link标签(link标签可以写在body标签内,但是不推荐)

第三步:link标签内href属性将css文件导入(路径(绝对路径和相对路径))

2.1.4 导入样式

通过@import url (“”)进行导入.css文件

就近原则:距离修饰的标签越近,优先级越高

概念来讲:行内>内嵌>外链>导入 

 3. 选择器

3.1 基本选择器

标签选择器(根据标签的名称获取)

ID选择器(根据id为XXX的标签)

类选择器 (根据class为XXX的标签)

通用选择器 (通配符)

效果图如下:

 四种选择器的优先级:ID > 类 > 标签 > 通配符

3.2 包含选择器

子代选择器 ------ 获取某个标签的第一级子标签

后代选择器------ 获取某个标签内所有的子标签

分组选择器 ------ 逗号选择器 ,可以给多个标签加上样式,通过逗号隔开

 效果图如下:

 3.3 属性选择器

 3.4 伪类选择器

同一个标签,根据不同的状态,有不同的样式,这就叫伪类,使用冒号:表示的

 注意:这四种超链接的伪类选择器的顺序是一定的,不可以改变,他们的顺序 :link :visited :hover :active

3.5 伪元素选择器

 

注意:如果要使用before和after的话,一定要加上content(内容)属性

4. CSS常见样式

4.1 样式的基本语法

 

4.2 常见的样式

控制字体 :

设置字号 -------- font-size:12px;

设置颜色 ------ color:#rrggbb;

设置字体 -------- font-family:“宋体”;

设置行高 ----- line-height:150% 1.5em

设置字体的粗细 ----- font-weight:normal(正常 默认值) blod(粗体)

 

样式的特点:

1、继承性--------网页中子元素将继承父元素的样式

2、层叠性 ------网页中子元素定了与父元素相同的样式,则子元素的样式会覆盖掉父元素的样式,后面 定义的样式会覆盖前面定义的样式

控制文本

text-indent :2em (可以取负值) -------- 设置文本的缩进

text-align : left center right ------- 文本的对齐方式

text - transform : none(正常的大小) capitalize(将每个单词的第一个字母住那换为大写)uppercase(转 换为大写) lowercase(转换为小写) --------文本的大小写

 5. 布局

5.1 盒子布局

 

border---- 边框 

 padding ----- 内边距

margin ----- 外边距

 5.2 元素的分类

块级元素: 独占一行,可以设置高和宽 div p hn等

内联元素:不会自动换行,设置宽和高的时候是不起作用 span a等

块级元素和内联元素可以进行 互相转换 ------- 使用dispaly

 

 效果图如下:

 css隐藏元素的方式:display:none;width:0;height:0;

5.3 浮动布局

通过设置float属性进行布局 浮动是css实现布局的一种方式

float取值: none:不浮动, left:左浮(对象向左浮动,而后面的内容流向对象的右侧) ,right:右浮(对象向右浮动,而后面的内容流向对象的左侧)

注意:left:前面的元素浮动效果后,会对后面元素产生影响 ------ 通过消除浮动来解决

clear属性: none : 默认值 允许两边都可以有浮动对象, left : 不允许左边有浮动对象, right:不允许右边有浮动对象 ,both: 不允许两侧有浮动对象

 5.4 定位布局

属性:position ----- 设置对象的定位方式

值: static ----- 静态定位(没有定位)默认值; absolute ------ 绝对定位:将对象从文档流中分离出来,通过设置left、right、top、bottom四个方向的 相对于父级对象进行绝对定位,如果不存在这样的父级对象,则依据body对象; relative------- 相对定位:对象不从文档流中分离出来,通过设置left、right、top、bottom四个方向相 对于自身位置进行相对定位

 

效果图如下:

 

 5.5 其他属性

1.overflow:设置当对象内容超过指定的高度及宽度的时候如何管理内容

visible ------默认值 不剪切内容也不添加滚动条

auto ----- 在必需时对象内容才会被剪切或者添加滚动条

hidden ----- 不显示超过对象尺寸的内容

scroll ----- 总是显示滚动条

 

3种隐藏元素的方式: 1、 display : none;  2、 width:0;height:0;  3、overflow:hidden; 

2.zoom:设置或者检索对象的缩放比例

normal : 默认值 使用对象的实际尺寸

number: 百分比|无符号的浮点实数 浮点数值为1.0 或者百分数100%的时候相当于此属性是normal

 5.6 CSS3弹性盒子

弹性盒子是由弹性容器(Flexible 或者 flexbox)和弹性元素(Flex item)组成 弹性容器时通过设置display属性来实现的------ display:flex 或者inline-flex 一个弹性容器可以包含一个或者多个弹性元素

常见的属性 :

flex-direction ------ 指的时弹性容器中子元素的排列方式

flex-wrap ------- 指的时弹性盒子的子元素超出父容器时是否换行

flex-flow ------flex-direction和flex-wrap 的简写

align-items -----设置的时弹性盒子中的元素在侧轴(纵轴)上的对齐方式

justify-content ----设置的时弹性盒子中的元素在主轴(横轴)上的对齐方式

align-content -----修改了flex-wrap 的行为,类似于align-items ,但是它不对齐弹性项目,而是对齐弹 性线

flex-direction:

row ------ 横向从左到右排列(左对齐),默认值

row-reverse ----反向横向排列(右对齐),从后往前排列,最后一项排在最前面

column ---- 纵向排列

column-reverse ---反向纵向排列,从后往前排列,最后一项排在最前面 

flex-wrap :

flex-flow: 

效果图如下:

 

align-items :

justify-content: 

 align-content:

其他属性: order align-self flex-basis flex-grow flex-shrink flex 

6. CSS中的特殊样式

6.1 CSS中变换效果

通过转换使元素大小、位置、形状发生一些改变,包括2D和3D转换

2D转换 :

CSS3提供了2D转换,通过transform属性进行设置 translate() ----- 从当前位置移动元素(根据X轴和Y轴给定的参数) ----- 是一种平移的效果

 rotate() -----根据给定的角度顺时针或者逆时针旋转元素,可以取负值-------元素进行逆时针旋转

scale() -----增加或者减少元素的大小(根据给定的高度或者宽度参数)

scaleX() -------增加或者减少宽度

scaleY() -------增加或者减少高度 

skew() -----使元素沿着X轴和Y轴倾斜给定的角度

skewX() -----使元素沿着X轴倾斜给定的角度

skewY() -----使元素沿着Y轴倾斜给定的角度

matrix() ------ 整合所有的2D转换的方法:

matrix() 方法可接受六个参数,其中包括数学函数,这些参数使您可以旋转、缩放、移动(平移)和 倾斜元素。

参数如下:matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())

 3D转换:

rotateX() ------- 给定角度X轴上旋转

rotateY() ------- 给定角度Y轴上旋转

rotateZ() ------- 给定角度Z轴上旋转

 

6.2 CSS过渡效果 

元素从一种效果过渡到另一种效果上

要求: 1、效果添加到哪一个css属性 2、过渡效果的时常 3、效果触发的动作(:hover)

 多项改变 :同时可以制定多个属性进行过渡效果,添加多个属性的时候,用逗号隔开

指定速度的曲线: transition-timing-function 属性规定过渡效果的速度曲线。

transition-timing-function 属性可接受以下值:

1.ease - 规定过渡效果,先缓慢地开始,然后加速,然后缓慢地结束(默认)

2.linear - 规定从开始到结束具有相同速度的过渡效果

3.ease-in -规定缓慢开始的过渡效果

4.ease-out - 规定缓慢结束的过渡效果

5.ease-in-out - 规定开始和结束较慢的过渡效果

6.cubic-bezier(n,n,n,n) - 允许您在三次贝塞尔函数中定义自己的值

 

transition-delay 属性规定过渡效果的延迟(以秒计)

6.3 动画效果 

@keyframes规则创建动画,实现的是将一个元素从一个css样式变换到另一个css样式,使用的是from 和to两个关键字(0% 100%)

 

 

 animation-delay 属性规定动画开始的延迟时间,负值也是允许的。如果使用负值,则动画将开始播 放,如同已播放 n 秒

animation-iteration-count 属性指定动画应运行的次数,使用值 "infinite" 使动画永远持续下去 animation-direction 属性指定是向前播放、向后播放还是交替播放动画。

animation-direction 属性可接受以下值:

1.normal - 动画正常播放(向前)。默认值

2.reverse - 动画以反方向播放(向后)

3.alternate - 动画先向前播放,然后向后

4.alternate-reverse - 动画先向后播放,然后向前

5.animation-timing-function 属性规定动画的速度曲线。

animation-timing-function 属性可接受以下值:

1.ease - 指定从慢速开始,然后加快,然后缓慢结束的动画(默认)

2.linear - 规定从开始到结束的速度相同的动画

3.ease-in - 规定慢速开始的动画

4.ease-out - 规定慢速结束的动画

5.ease-in-out - 指定开始和结束较慢的动画

6.cubic-bezier(*n*,*n*,*n*,*n*) - 运行您在三次贝塞尔函数中定义自己的值

animation-fill-mode 属性可接受以下值:

1.none - 默认值。动画在执行之前或之后不会对元素应用任何样式。

2.forwards - 元素将保留由最后一个关键帧设置的样式值(依赖 animation-direction 和 animation-3.iteration-count)。

4.backwards - 元素将获取由第一个关键帧设置的样式值(取决于 animation-direction),并在动 画延迟期间保留该值。

5.both - 动画会同时遵循向前和向后的规则,从而在两个方向上扩展动画属性。

 

6.4 渐变效果 

渐变------可以在两个或者多个颜色之间进行平稳的过渡 ;线性渐变(向下、向上、向左、向右、向对角线) ;径向渐变(由中心定义)

线性渐变:语法格式: background-image:linear-gradient( direction,color1,color2........ )

效果图如下:

 

径向渐变: 语法格式:background-image: radial-gradient(shape size at position, start-color, ..., lastcolor);

默认地,shape 为椭圆形,size 为最远角,position 为中心 size 参数定义渐变的大小。

它可接受四个值:

1.closest-side

2.farthest-side

3.closest-corner

4.farthest-corner

效果图如下: 

 

 6.5 圆角

border-radius属性实现圆角的样式

border-radius 属性可以接受一到四个值。规则如下:

四个值 - border-radius: 15px 50px 30px 5px;(依次分别用于:左上角、右上角、右下角、左下角)

 三个值 - border-radius: 15px 50px 30px;(第一个值用于左上角,第二个值用于右上角和左下角,第三 个用于右下角)

 两个值 - border-radius: 15px 50px;(第一个值用于左上角和右下角,第二个值用于右上角和左下角)

 一个值 - border-radius: 15px;(该值用于所有四个角,圆角都是一样的)

效果图如下:

 

 6.6 多列 

将文本内容设计为向报纸一样多列展示布局

column-count ------设置要分割的列数

效果图如下:

 


网站公告

今日签到

点亮在社区的每一天
去签到