CSS相关小结

CSS相关总结


1.CSS概念

CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,比如文字大小、颜色、字体加粗等。


2.语法

  1. 注释:/注释内容/
  2. 选择器
  3. 规则

3.在html中如何应用css

  1. 属性内嵌:在元素中添加style属性,style属性值为css样式规则
  2. 内嵌:将样式添加到head标签中的style标签里
  3. 外部导入式:将样式定义在css文件中,通过link导入进来

4.样式层叠

决定某个样式规则是否可以胜出取决于三个要素
 1)是否具有important声明(即是否加了!important)
 2)选择器的权重
   1000 定义在style属性中
   100 id选择器
   10 类选择器 伪类选择器 属性选择器
    1 元素选择器 伪元素选择器
 3)选择器的顺序
    当优先级相同时,后者覆盖前者(即就近原则,哪一个离选中的标签近,哪一个生效)


5.选择器

  • 核心选择器
选择器举例
标签选择器div {}
id选择器#one {}
class选择器.second {}
逗号选择器div,#one {};ul,ol {}
组合选择器div#one {}
普遍选择器* 不单独使用
  • 层次选择器
选择器举例
子元素选择器.nav > ul > li {}
后代选择器.nav li {}
下一个兄弟选择器.products > li.ios + *{}
之后所有兄弟选择器.products > li.ios ~ *{}
  • 属性选择器,过滤(表单元素)
举例含义
selector[]选取所有被选中的选项元素(下拉列表)
input[placeholder]选取input属性中的placeholder元素
input[type=text]选取input属性中的input元素
input[type^=t]选取input属性中的input元素中前面带t的
input[type$=t]选取input属性中的input元素中后面带t的
input[type*=t]选取input属性中的input元素中带t的
  • 伪类选择器,过滤器

与状态相关

举例含义
a:linka标签还未被访问
a :hover光标悬浮到元素上
a :activea标签激活
a:visiteda标签访问过

与子元素相关

举例含义
:first-child第一个子元素
:last-child最后一个子元素
:nth-child(v)选择一个子元素(v 可以为数字,公式,关键字)
:first-of-type指定父元素的首个 p 元素
:last-of-type指定父元素的最后 p 元素
:nth-of-type指定父元素的第N个 p 元素
  • 伪元素
举例含义
::after该伪元素定义在元素之后添加内容
::before该伪元素定义在元素之前添加内容
::first-letter该伪元素向文本的第一个字母添加特殊样式
::first-line该伪元素向文本的首行添加特殊样式

6.规则

  • 字体样式(可以被继承)
例如含义
font-family:;字体系列
font-size:12px;字体大小
font-weight:(bold/normal/bolder/100~900)字体粗细
font-style:(normal/italic)是否开启斜体
line-height:2em;行高【文本垂直居中】

网络字体
 主要用于字体图标库(iconfont/fontawesome)
使用步骤:
 1) 在iconfont网站中选择图标,加入项目,产生代码
 2) 将产生的代码在html中通过link引用 http://(放产生的代码);
 3) 应用css中定义好的类,来使用对应的图标

  • 文本样式(可以被继承)
例如含义
color:#333;字体颜色
text-align:(center/left/right);文本水平(居中,靠左,靠右)
text-decoration-line:(underline/line-through/overline/none) ;规定文本修饰线条
text-decoration-style:(solid/dotted/double/dashed/wavy) ;规定文本线条
text-decoration:none;大多用于去掉链接中的下划线
text-indent:2em;文本缩进
text-shadow:5px 5px 5px #ff0000;文本添加阴影
text-wrap: normal;规定文本换行规则

PS:文本添加阴影
  第一个5px:表示背景距左的距离(相对于原文字)
  第二个5px:表示背景距上方的距离(相对于原文字)
  第一个5px:表示阴影的像素,为0与原文字相同

  • 列表样式
举例含义
list-style-type:(circle/square…);列表类型(圆点,数字………)
list-style-image:url(“图片名”);列表像图片
list-style-position声明列表标志相对于列表项内容的位置
list-style:none;列表无样式
  • 盒子样式(盒子,块元素)

一个盒子的组成
外边距: margin
  margin:10px; 上右下左
  margin:0 10px; 上下为0,左右10px
  margin:0 5px 10px; 上0,左右5px,下10px
  margin:0 5px 10px 15px; 上右下左
边框: border
  border-color;边框线颜色
  border-style;边框线类型
  border-width;边框宽度
  border-radius:圆角半径
  border:1px solid #ededed;【*】 边框速写通用格式
&emsp**;内边距: padding**
  参考外边距
内容: 存放子元素或者内容的区域

盒子计算方式
1)box-sizing:content-box;内容盒子(传统盒子)
  width = 内容宽
  height = 内容高
  所占的宽 = border + padding + width
  所占的高 = border + padding + height
2)box-sizing:border-box;边框盒子(怪异盒子)
  width = 边框以内所有的和
  width = border + padding + 内容宽

背景
1)background-color:设置元素的背景颜色
2)background-image:把图片设置为背景
  eg:background-image:url(“图片名”);
3)background-position:设置图片起始位置
   eg:background-position:属性1 属性2;
   属性1表示当前图片所处在视图中的位置
   属性2right表示图片从哪里开始显示
   属性1和属性2也可以用具体数值 px,%
4)background-repeat:设置背景图片是否及如何重复
  repeat-x: 沿x轴重复
  repeat-y: 沿y轴重复
  no-repeat: 不重复
5)background-attachment:背景图片是否固定或随着其余部分滚动
  属性: fixed默认效果图片固定不滚动
6)background-size:规定背景图片尺寸
   eg:background-size:10px 10px ;
7)background-origin:背景铺设的起点
  border-box: 边框下
  padding-box: 内边距下
  content-box: 内容下
8)background-clip: 背景裁切方式
  border-box: 边框下
  padding-box: 内边距下
  content-box: 内容下

轮廓
1)outline-color:设置轮廓的颜色
2)outline-style:设置轮廓的样式:实线,虚线,双虚线,双实线…
3)outline-width:设置轮廓的宽度


7.布局

  • 浮动布局

float:left/right
脱离文档流:
 1) 宽度高度默认由内容决定
 2) 原先所在位置就会被其他块元素抢占
 3) 浮动元素在一行中依次排列,当一行无法容纳的时候会自动换行

应用:

1) 全部浮动(2+ 列)
				ul::after {
					display:block;
					content:"";
					clear:both;
				}
				ul> li {
					float:left;
					with:计算
				}

				<ul>
					<li></li>
					<li></li>
					<li></li>
					<li></li>
					<li></li>
				</ul>
2) 左侧浮动,右侧不浮动(2列)
				.content > .left{
					float:left;
					width:220px;
				}
				.content > .right {
					margin-left:230px;
				}

				<div class="content">
					<div class="left"></div>
					<div class="right"></div>
				</div>
  • 定位布局

作用:当一个元素悬挂在其他元素之上,优先考虑定位布局
  eg: 模态框、下拉菜单、二级菜单、固定宣传栏、网页聊天页面

用法:position:static/ relative / absolute / fixed /
static:默认 静态布局,默认文档流中,非定位元素
relative:定位元素(相对定位)
  1)没有脱离文档流
  2) 参照点为当前元素原本的位置
absolute:定位元素(绝对定位)
  1) 脱离了文档流
  2) 参照距离当前元素最近的父定位元素,如果所有的父元素都没有定位元素,参照浏览器视口
fixed:定位元素(固定定位)
  1) 脱离了文档流
  2) 参照浏览器视口
sticky:定位元素(粘滞定位)
  1) 不脱离文档流
  2) relative 和 fixed 的结合
    top:50px
    当当前元素距离浏览器视口顶端为50px的时候,体现fixed的特点

  • 伸缩盒布局

作用:使得子元素在父元素中分列显示,与float的作用类似。一般用于响应式布局(手机app中)

用法:
1)父元素在主轴上一定要有一个固定的宽/高
2) 子元素在交叉轴上默认宽/高占满父元素
   如果主轴为x轴,那么资源的默认高度占满父元素
   如果主轴为y轴,那么资源的默认宽度占满父元素
3)ul 伸缩盒
  设置父元素为伸缩盒 (display:flex)
  主轴 (flex-direction)
   主轴:默认情况下为x轴
   交叉轴:默认情况下为y轴
  伸缩盒自动换行(flex-wrap)
   子元素宽度和大于父元素的时候是否换行
   nowrap:默认值,不换行
   wrap:换行
4)li 伸缩盒的元素
  基础值
    flex-basis 主轴上元素的基础值(宽/高)
  对盈余空间的分配
    flex-grow
  对亏损空间的贡献
    flex-shrink:
  速写
    flex: grow shrink basis;


8.动画

  • 动画定义
@keyframes 动画名称{
	from {
	
	}
		to{

		}
}
=》
@keyframes 动画名称{
	10% {
					
	}
	20%{

	}
	...
	100%{

	}
}
  • 动画应用
举例含义
animation-name:;动画名称
animation-duration:1s;动画持续时间
animation-delay:1s;动画的延迟
animation-direction:(reverse/alternate);动画运动方向
animation-fill-mode:(forwards/backwards);动画结束后保留哪个样式(最后一帧/第一帧)
animation-iteration-count:(4/infinite);动画执行的次数(次数/重复)
animation-timing-function:(linear/steps);动画执行的时间曲线
animation-play-state:(running/paused);动画播放状态
animation: 4s linear 0s infinite alternate速写形式

网络动画库
 第三方动画库(animate.css)
  封装了css3的通用的动画样式,专业
     https://daneden.github.io/animate.css/
使用步骤:
 1) 引入动画库
 2) 为元素添加class

9.过渡效果(transition)

transition和animation的区别

  1. transition必须要触发,一般使用:hover
  2. transition不需要设置关键帧
    简单的过渡效果使用transition,复杂的动画使用animation
举例含义
transition-property:(width/width,background/all);指定过渡的属性(指定一个属性/多个数属性/所有属性)
transition-duration过渡持续的时间
transition-timing-function过渡的时间曲线
transition-delay过渡延迟
transition:property duration timing delay;速写

10.变形(transform:)

举例含义
scale(2)变大
skewX(45deg)沿x倾斜
skewY(45deg)沿y倾斜
skew(45deg)原点倾斜
rotate(45deg)原点旋转
rotateX(45deg)沿x旋转
rotateY(45deg)沿y旋转
rotateZ(45deg)沿z旋转
translateX(200px)元素仅在水平x方向移动
translateY(300px)元素仅在垂直y方向移动
translate(200px,300px)元素在水平x方向移动200px,在垂直y方向移动300px
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值