1、CSS层叠样式学习总结css3 总结01前缀 chrome: -webkit- safari: -webkit- firefox: -moz- ie: -ms- opera: -o-书写的时候应该先用有前缀的样式,再用无前缀的样式颜色 rgb(red, green, blue); rgba(red, green, blue, opacity0-1); hsl(色度, 饱和度, 亮度);色度为色轮的度数,0/360d代表红色,120代表绿色,240代表蓝色;饱和度百分比值,100%表示完全显示该颜色;亮度百分比值,0%代表黑色,100%代表白色,50%平均值圆角border-radius: 20
2、px;/水平,垂直border-radius: 20px,20px;/左上,右上,右下,左下border-radius: 20px,20px 20px 20px;下拉阴影/水平;垂直;模糊直径;颜色box-shadow: 10px 5px 15px #000;/内阴影box-shadow: 10px 5px 15px #000 inset;/水平;垂直;模糊直径;延展距离;颜色box-shadow: 10px 5px 15px 15px #000;/多阴影box-shadow: 0 1px 1px #fff inset, 5px 5px 10px #000;chromw:-webkit-;sa
3、fari:-webkit-;ie=9文本阴影/水平;垂直;颜色text-shandow: 1px 1px #fff;/水平;垂直;模糊直径;颜色text-shandow: 1px 1px .3em #fff;渐变默认下渐变是垂直方向的;也可以传递一个位置参数来改变方向linear-gradient(#ccc, #ddd, white);/设定一个倾斜度linear-gradient(-45deg, #ccc, #fff);/水平渐变linear-gradient(left, #ccc, #fff);/设置颜色停止值linear-gradient(white, #ddd 20%, black);
4、选择器/选中的第一个元素:first-child/选中的最后一个元素:last-child/选中的元素是其父元素的唯一子元素:only-child/选中当前URL的哈希中的目标元素:target/选中复选框以被勾选的元素:checked nth-child选择器nth-child(n);nth-child(even);/nth-child(2n);nth-child(odd);/nth-child(2n+1); 直接后代选择器 否定选择器:not(.current)ie=9过渡transition: 持续时间, 属性, 动画类型;/多个动画transition: 2s opacity, .5s
5、 height ease-in;定时函数种类 linear ease-in ease-out ease-in-out例子div background: pink; width: 50px; height: 50px; -moz-transition: 2s width ease-in, 2s height ease-out; /* Firefox 4 */ -webkit-transition: 2s width ease-in, 2s height ease-out; /* Safari and Chrome */ -o-transition: 2s width ease-in, 2s he
6、ight ease-out; /* Opera */ transition: 2s width ease-in, 2s height ease-out;div:hover width: 100px; height: 150px; div position: absolute; left: 10px; -moz-transition: 2s left -webkit-transition: 2s left; -o-transition: 2s left ; transition:2s left; div:hover position: absolute; left: 100px; firefox
7、:-moz-;chrome:-webkit-; safari: -webkit-; ie=10; opear: -o-;css3 总结03 box-flex: 设置或检索弹性盒模型对象的子元素如何分配其剩余空间。 a b c#boxdisplay:box;width:240px;height:100px;margin:0;padding:10px;list-style:none;#box li:nth-child(1)box-flex:1;#box li:nth-child(2)box-flex:1;#box li:nth-child(3)box-flex:2;注意box-flex只是动态分配
8、父元素的剩余空间,而不是整个父元素的空间。如上例,父元素#box的宽度为240px,如果你认为a,b,c的宽度分别为60, 60, 120那么就错了,因为box-flex只是分配父元素的剩余空间而已,所以a,b,c所分到的应该是除内容外所剩余下来的宽度box-flex-group: 设置或检索弹性盒模型对象的子元素的所属组。box-ordinal-group: 设置或检索弹性盒模型对象的子元素的显示顺序。box-direction: 设置或检索弹性盒模型对象的子元素的排列顺序是否反转。box-lines: 设置或检索弹性盒模型对象的子元素是否可以换行显示。 .hbox display: -we
9、bkit-box; -webkit-box-orient: horizontal; -webkit-box-align: stretch; -webkit-box-pack: start; display: -moz-box; -moz-box-orient: horizontal; -moz-box-align: stretch; -moz-box-pack: start; .vbox display: -webkit-box; -webkit-box-orient: vertical; -webkit-box-align: stretch; display: -moz-box; -moz-
10、box-orient: vertical; -moz-box-align: stretch; 上面将display设置为-webkit-box或-moz-box-,然后设置子元素布局的方向。默认情况下,所有子元素都将自动扩充为父元素一样的大小。但通过设置box-flex属性却可以修改默认行为#sidebar -webkit-box-flex: 0; -moz-box-flex: 0; box-flex: 0; width: 200px;#content -webkit-box-flex: 1; -moz-box-flex: 1; box-flex:1;如果设置box-flex为0,就指定了该元
11、素不允许扩充;相反设置1或更大的数值该元素会自动扩充可利用的内容空间。上面对侧边栏设置flex为0;而主内容区设置flex为1字体font-face font-family: Bitstream src: url(/Bitstream.ttf);#font-example font-family: Bitstream;css实例-文字/字体使用自定义字体: 在CSS2中font-family属性只能使用两个字体: 通用字体:Serif字体,Sans-serif字体,Monospace字体,Cursive字体,Fantasy字体; 特定字体:如Times,Courier等,要求计算机已经安装该字
12、体; 使用font-face:1234567font-facefont-family:example;src:url(example.ttf) , url(example.eot);/*IE9+*/divfont-family:example;文本缩进和首字符下沉: 缩进:text-indent; 首字符设置: :first-letter;文本被选中:123:selection/老版本的firefox:-moz-selection调整文字,字符间距: demo: word-spacing:空格距离; letter-spacing:子间距离; line-heigh:文本行间距; white-sp
13、ace:空格,换行符的控制; 强制换行:word-wrap: break-word;word-break: normal;文字阴影/框阴影: text-shadow: h-shadow(必须) v-shadow(必须) blur color; 文字毛玻璃效果: box-shadow:h-shadow(必须) v-shadow(必须) blur spread color inset;文本溢出处理: demo: overflow:主要在对高度的处理,如果宽度不够,默认会换行; text-overflow:主要对宽度的处理,在设置white-space: nowrap; 阻止换行之后可以设置默认(c
14、lip)或省略(ellipsis);高级文字设置: 金属质感文字 linear-gradient:(direction, color-stop1, color-stop2, .);隐藏文本: 使用display; 使用opacity; 使用text-indent;1234h1text-indent:-9999px. 使用定位;12345h1position:absolute;top:-9999px;left:-9999px;文字旋转:123-ms-transform: rotate(30deg);/* IE 9 */-webkit-transform: rotate(30deg);/* Chr
15、ome, Safari, Opera */transform: rotate(30deg);结构性伪类E:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML结构性伪类E:nth-child(n)匹配父元素中的第n个子元素E结构性伪类E:nth-last-child(n)匹配父元素中的倒数第n个结构子元素E结构性伪类E:nth-of-type(n)匹配同类型中的第n个同级兄弟元素E结构性伪类E:nth-last-of-type(n)匹配同类型中的倒数第n个同级兄弟元素E结构性伪类E:last-child匹配父元素中最后一个E元素结构性伪类E:first-
16、of-type匹配同级兄弟元素中的第一个E元素结构性伪类E:only-child匹配属于父元素中唯一子元素的E结构性伪类E:only-of-type匹配属于同类型中唯一兄弟元素的E结构性伪类E:empty匹配没有任何子元素(包括text节点)的元素E一、E:root,匹配文档的根元素二、E:nth-child(n),匹配父元素的第n个孩子元素E nth-child选择的是父元素的子元素,其中要满足两个条件:没有规定确切的类型,只要是子元素;该元素要在第n的位置。只需要看在父元素下的第n个孩子是否是E,如果是那么就匹配否则就不匹配。 p:nth-child(2):选择的是父元素的第二个P类型的孩
17、子节点,p:nth-of-type(2):选择的是父元素的所有孩子节点的P类型的第二个。 对于理解了E:nth-child(n)之后,对于结构伪类的理解很有帮助,其他类型都是在这个的基础上的特殊情况。 另外,结构伪类中一个比较特殊的用法是选择指定的元素的位置。nth-child(n)、nth-last-child(n)、nth-of-type(n)、nth-last-of-type(n)中的N在选择器中的使用,这个参数可以是整数(1、2、3、4)、关键之(odd、even),还可以是公式(2n+1、-n+5).但参数n的起始值始终是1而不是0.1、参数可以是数值;2、参数n为表达式【n*len
18、gth】:单length为整数1时,将选择整个系列中的所有元素,直到元素无法选择为止。例如::nth-child(2n) n = 0时,2*0 = 0,不选任何元素; n = 1时,2*1 = 2,选中的是系列中的第2个元素;3、参数n为表达式n+length,例如::nth-child(n+3) n = 0时,0 + 3 = 3,选中的是第3个元素; n = 1时,1 + 3 = 4,选中的是第4个元素;4、参数n为表达式【-n+length】,例如::nth-child(-n+3) n = 0时,-0 + 3 = 3,选中的是第3个元素; n = 1时,-1 + 3 = 2,选择的是第2个
19、元素; 当为负数的时候,不选择任何元素。5、如果n的表达式为【2*n+1】或者【2*n-1】,那么此时与odd的效果相同,一样的【2n】与even的效果是一样的这里有一个比较特别的用法就是从父元素的相反方向进行匹配,:last-child,:nth-last-child,:nth-last-of-type(n),:last-of-type,这几个选择器都是从父元素的最后一个开始匹配。为了方便记忆和查询,把CSS的结构伪类选择器归为四类:1)通用子元素过滤器:E:nth-child(n)(顺序过滤)和E:nth-last-child(n)(逆序过滤)2)通用子类型元素过滤器:E:nth-of-t
20、ype(顺序过滤)和E:nth-last-of-type(n)(逆序过滤)3)特定位置的子元素:E:first-child,E:last-child,E:first-of-type,E:last-of-type4)特定状态的元素:E:root(根节点)、E:only-child(独子元素)、E:only-of-type(独子类型元素)和E:empty(孤节点)CSS介绍CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。选择符:又称选择器,指明网页中要应用样式规则的元素。声明:在英文大括号
21、“”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如下所示:pfont-size:12px;color:red;注意:1、最后一条声明可以没有分号,但是为了以后修改方便,一般也加上分号。2、为了使用样式更加容易阅读,可以将每条代码写在一个新行内,如下所示:pfont-size:12px;color:red;CSS中也有注释语句:用/*注释语句*/来标明,Html中使用。CSS样式的基本知识CSS 样式代码插入的形式来看基本可以分为以下3种:内联式、嵌入式和外部式三种。一、内联式css样式表就是把css代码直接写在现有的HTML标签中,如下面代码:
22、这里文字是红色。二、嵌入式css样式,就是可以把css样式代码写在标签之间。如下面代码实现把标签中的文字设置为红色:spancolor:red;嵌入式css样式必须写在之间,并且一般情况下嵌入式css样式写在之间。三、外部式css样式(也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css”为扩展名,在内(不是在标签内)使用标签将css样式文件链接到HTML文件内,如下面代码:注意:1、css样式文件名称以有意义的英文字母命名,如 main.css。2、rel=stylesheet type=text/css 是固定写法不可修改。3、标签位置一般写在标签之内。三
23、种方法的优先级,内联式 嵌入式 外部式,就近原则(离被设置元素越近优先级别越高)。但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下。CSS选择器每一条css样式声明(定义)由两部分组成,形式如下:选择器样式;在之前的部分就是“选择器”,“选择器”指明了中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。一、标签选择器其实就是html代码中的标签。例如下面代码:pfont-size:12px;line-height:1.6em;上面的css样式代码的作用:为p标签设置12px字号,行间距设置1.6em的样式。二、类选择器:先在元素中设
24、置class属性及属性名,然后在嵌入、外部样式中以”.类名 样式 “选中并设置样式;注意点”.“要在英文输入法下输入,可别忘记哦。class名可任意取,但不可为中文。语法:.类名样式三、ID选择器在很多方面,ID选择器都类似于类选择符,但也有一些重要的区别:1、为标签设置id=ID名称,而不是class=类名称。2、ID选择符的前面是井号(#)号,而不是英文圆点(.)。ID选择器与类选择器相同点:可以应用于任何元素不同点:1、ID选择器只能在文档中使用一次。与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。四、子选择器,即大于符号(),用于选择指
25、定标签元素的第一代子元素。如下代码:.foodliborder:1px solid red;这行代码会使class名为food下的子元素li加入红色实线边框。五、包含选择器,即加入空格,用于选择指定标签元素下的后辈元素。如下代码:.first spancolor:red;请注意这个选择器与子选择器的区别,子选择器(child selector)仅是指它的直接后代或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素后代选择器通过空格来进行选择,而子选择器是通过“”进行选择。总结:作用于元素的第一代后代,空格作用于元素的所有后代。六、通用选择器它使用一个(*)号指定,它的作
26、用是匹配html中所有标签元素,如下使用下面代码使用html中任意标签元素字体颜色全部设置为红色:*color:red;七、伪类选择符,它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:a:hovercolor:red;上面一行代码就是为 a 标签鼠标滑过的状态设置字体颜色变红。八、分组选择符,当你想为html中多个标签元素设置同一个样式时,可以使用分组选择符(,),如下代码为右侧代码编辑器中的h1、span标签同时设置字体颜色为红色:h1,spancolor:red;它相当于下面两行代码:h1color:red;span
27、color:red;CSS的继承性、特殊性、层叠性、重要性CSS的继承性继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。pcolor:red;三年级时,我还是一个胆小如鼠的小女孩。这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。但注意有一些css样式是不具有继承性的。如border:1px solid red;pborder:1px solid red;三年级时,我还是一个胆小如鼠的小女孩。在上面例子中它代码的作用只是给p标签设置了边框为1像素、红色、实心边框线,而对于子元素span是没用起到作用的。CSS的特殊性有的时候
28、我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一下面的代码:pcolor:red;.firstcolor:green;三年级时,我还是一个胆小如鼠的小女孩。p和.first都匹配到了p这个标签上,那么会显示哪种颜色呢?green是正确的颜色,那么为什么呢?是因为浏览器是根据权值来判断使用哪种css样式的,权值高的就使用哪种css样式。下面是权值的规则:标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:pcolor:red; /*权值为1*/p spancolor:green; /*权值为1+1=2*/.warningcolor:white; /*权值为10*/p span.warningcolor:purple; /*权值为1+1+10=12*/#footer .note pcolor:yellow; /*权值为100+10+1=111*/注意:还有一个权值比较特殊-继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2