相对定位是相对于自身原有位置进行便宜,仍处于标准文档流中。局对定位脱离了文档流,偏移的参照基准是:有已定位的父元素以父元素为基准,无父元素(即无position)的话以<html>为基准。
过度效果:
第一,在默认样式中声明元素的初始状态样式;
第二,声明过渡元素最终状态样式,比如悬浮状态;
第三,在默认样式中通过添加过渡函数,添加一些不同的样式。
transition-property:指定过渡或动态模拟的CSS属性
transition-duration:指定完成过渡所需的时间
transition-timing-function:指定过渡函数
transition-delay:指定开始出现的延迟时间
transform-origin
改变自身元素的中心点,目的是为了配合css变形进行的旋转、位移、缩放,扭曲等操作
取值:
关键词 百分比
top = top center = center top 50% 0
right = right center = center right 100%或(100% 50%)
bottom = bottom center = center bottom 50% 100%
left = left center = center left 0 或(0 50%)
center = center center 50%或(50% 50%)
top left = left top 0 0
right top = top right 100% 0
bottom right = right bottom 100% 100%
bottom left = left bottom 0 100%
matrix()
是一个含六个值的(a,b,c,d,e,f)变换矩阵,和translate()类似,只不过translate()用两个值来控制视图的位移,而matrix通过六个值来确定位移的位置
translate()
将元素向指定的方向移动
三种情况:
1、translate(x,y)水平方向和垂直方向同时移动
2、translateX(x)仅水平方向移动
3、translateY(Y)仅垂直方向移动
scale()函数
让元素根据中心原点对对象进行缩放
三种情况:
1、scale(X,Y)使元素水平方向和垂直方向同时缩放
2、scaleX(x)元素仅水平方向缩放
3、scaleY(y)元素仅垂直方向缩放
skey():
能将元素倾斜显示。它可以将一个对象以其中心位置围绕着x轴和y轴按照一定的角度倾斜。这与rotate()函数的旋转不同,rotate()函数只是旋转,而不会改变元素的形状。skey()函数不会旋转,而只会改变元素的形状
rotate()函数:
是结合transform一起设置的,但是只针对块元素,如果想要内联元素旋转的话,需要将内联元素变为块元素
示例:
.wrapper span {
display:block;
-webkit-transform: rotate(-20deg);
-moz-transform: rotate(-20deg);
transform:rotate(-20deg);
}
::before和::after这两个主要用来给元素的前面或后面插入内容,这两个常和"content"配合使用,使用的场景最多的就是清除浮动
:read-write
选择器刚好与:read-only选择器相反,主要用来指定当元素处于非只读状态的样式
:read-only
伪类选择器用来指定处于只读状态元素的样式。简单点理解就是,元素中设置了"readonly = 'readonly' "
::selection
选择器是控制选择文本内容时显示的样式
:disabled
选择器决定标签不可用状态
:enabled
选择器控制标签的是否可用状态
:only-of-type
选择器用来选择一个元素是它的父元素的唯一一个相同类型的子元素。
:only-child
选择器选择的是父元素中只有一个子元素,而且只有唯一的一个子元素。也就是说,匹配的元素的父元素中仅有一个子元素,而且是一个唯一的子元素
:nth-last-of-type(n)
选择器和":nth-of-type(n)"选择器是一样的,选择父元素中指定的某种子元素类型,但它的起始方向是从最后一个子元素开始。
:last-of-type
选择器和":first-of-type"选择器功能是一样的,不同的是他选择是父元素下的某个类型的最后一个子元素
:nth-of-type(n)
选择器和":nth-child(n)"选择器非常类似,不同的是它只甲酸父元素中指定的某种类型的子元素。当某个元素中的子元素不单单是同一种类型的子元素时,使用":nth-of-type(n)" 选择器来定位于父元素中某种类型的子元素是非常方便和有用的。在":nth-of-type(n)"选择器中"n"和":nth-child(n)"选择器中"n"参数也一样,可以是具体的整数,也可以是表达式,还可以是关键词。
:first-of-type
选择器类似于":first-child"选择器,不同之处就是指定了元素的类型,其主要用来定位一个父元素下的某个类型的第一个子元素
:nth-last-child(n)
选择器和前面的":nth-child(n)"选择器非常的相似,只是这里多了一个“last”,所起的作用和":nth-child(n)"选择器有所区别,从某父元素的最后一个子元素开始计算,来选择特定的元素
:nth-child(n)
选择器用来定位某个父元素的一个或多个特定的子元素。其中“n”是其参数,而且可以使整数值(1,2,3,4),也可以是表达式(2n+1、-n+5)和关键词(odd、even),但参数n的起始值始终是1,而不是0。也就是说,参数n的值为0时,选择器将选择不到任何匹配的元素
:last-child
选择器选择的是元素的最后一个子元素
:first-child
选择器表示的是选择父元素的第一个子元素的元素E。简单点理解就是选择元素中的第一个元素,记住是子元素,而不是后代元素
示例:
<style>
ul > li:first-child{
color:red;
}
</style>
<ul>
<li><a href="##">Link1</a></li>
<li><a href="##">Link2</a></li>
<li><a href="##">Link3</a></li>
<li><a href="##">Link4</a></li>
<li><a href="##">Link5</a></li>
</ul>
:target
目标选择器,用来匹配文档(页面)的url的某个标志符的目标元素
示例:
<style>
#brand:target{
<!--背景颜色-->
background:orange;
<!--内容颜色-->
color:white;
}
</style>
<div class="menuSection" id="brand">
<h2><a href="#brand">Brand</a></h2>
<p>content for Brand</p>
</div>
:empty
选择器表示的就是空。用来选择没有任何内容的元素,这里没有内容指的是一点内容都没有,哪怕是一个空格
示例:
p:empty{
//将没有内容的标签隐藏起来
display:none
}
:not选择器
又称否定选择器,选择除某个元素之外的所有元素
结构性伪类选择器-root:
就是匹配元素E所在文档的根元素,在HTML文档中,根元素始终就是<HTML>
示例:
:root{background:orange}
html {background:orange;}
两者效果是一样的
属性选择器:
定义:
CSS3在CSS2的基础上进行了扩展,新增了属性选择器
参数:
属性选择器 功能描述
E[att^=val] 选择匹配元素E,且E元素定义了属性att,其属性值以val开头的任何字符串
E[att$=val] 选择匹配元素E,且E元素定义了属性att,其属性值以val结尾的任何字符串,刚好与E[att^=val]相反
E[att*=val] 选择匹配元素E,且E元素定义了属性att,其属性值任意位置包含了val。换句话说,字符串与属性值的任意位置匹配
背景:
有时候需要设置多个背景,所以对背景的属性单独定义,以逗号隔开的方式
示例:
background-image: url(图片地址1),url(图片地址2),url(图片地址3)
background-position: left top, center top,right top;
background-repeat: no-repeat , no-repeat, no-repeat;