E[attr]只使用属性名,但没有确定任何属性值 E[attr="value"]指定属性名,并指定了该属性的属性值 E[attr~="value"]指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“?”不能不写 E[attr^="value"]指定了属性名,并且有属性值,属性值是以value开头的 E[attr$="value"]指定了属性名,并且有属性值,而且属性值是以value结束的 E[attr*="value"]指定了属性名,并且有属性值,而且属值中包含了value E[attr|=“value”]指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn) 不能是词列表(如:dd b-leo或者dd b)
1、css3属性选择器
E:nth-child(n) 表示E的父级中的第n个子节点E E:nth-child(odd){background:red}/*匹配奇数行*/ E:nth-child(even){background:red}/*匹配偶数行*/ 标签 *:nth-child(n);/*找标签下第N个元素*/ E:nth-child(2n){background:red} /*n为0-无穷大 E:nth-last-child(n) 表示E父级中的第n个字节点,从后向前计算 E:nth-of-type(n) 表示E父级中的第n个字节点,且类型为E. E为这类集合,然后在集合中找第n的元素 E:nth-last-of-type(n)表示E父级中的第n个字节点,且类型为E,从后向前计算 E:empty 表示E元素中没有子节点。注意:子节点包含文本节点 E:first-child 表示E父级中的第一个子节点 =>nth-child(1) E:last-child 表示E父级中的最后一个子节点 =>nth-last-child(1) E:first-of-type 表示E父级中的第一个子节点且节点类型是E的 =>nth-of-type(1) E:last-of-type 表示E父级中的最后一个子节点且节点类型是E的 =>nth-last-of-type(1) E:only-child表示E元素中只有一个子节点。注意:子节点不包含文本节点 E:only-of-type 表示E的父级中只有一个子节点,且这个唯一的子节点的类型必须是E。注意:子节点不包含文本节点
2、css3结构伪类
E:target 表示当前的URL片段的元素类型,这个元素必须是E (如:div:target{ display:block;}) E:disabled 表示不可点击的表单控件 E:enabled 表示可点击、编辑的表单控件 E:checked 表示已选中的checkbox或radio E:first-line 表示E元素中的第一行 E:first-letter 表示E元素中的第一个字符 E::selection表示E元素在用户选中文字时触发 E::before 生成内容在E元素前 E::after 生成内容在E元素后 E:not(s) 表示E元素不被匹配,s通常是.类名如:(p:not(.cc)) E~F表示E元素毗邻的F元素 Content 属性,其常结合after、before使用。
3、css3伪类
direction:rtl;unicode-bidi:bidi-override; 文字排版(rtl右至左) -webkit-text-stroke:3px red; 文字描边 white-space:nowrap; 文字超出不换行
4、css3注意地方
1、弹性盒模型: 注意在使用弹性盒模型的时候 父元素必须要加display:box 或 display:inline-box Box-orient 定义盒模型的布局方向 Horizontal 水平显示 vertical 垂直方向 box-direction 元素排列顺序 Normal 正序 Reverse 反序 box-ordinal-group 设置元素的具体位置(如1、2...) Box-flex 定义盒子的弹性空间大小 子元素的尺寸=盒子的尺寸*子元素的box-flex属性值 / 所有子元素的box-flex属性值的和 box-pack 对盒子富余的空间进行管理 Start 所有子元素在盒子左侧显示,富余空间在右侧 End 所有子元素在盒子右侧显示,富余空间在左侧 Center 所有子元素居中 Justify 富余空间在子元素之间平均分布 box-align 在垂直方向上对元素的位置进行管理 Star 所有子元素在据顶 End 所有子元素在据底 Center 所有子元素居中 2、盒模型阴影: box-shadow:[inset] x y blur [spread] color 参数 inset:内投影 不给:外投影 x、y:阴影偏移 blur:模糊半径 spread:扩展阴影半径(先扩展原有形状,再开始阴影) color 3、其他盒模型新增属性: box-reflect 倒影 方向 above(顶)|below(底)|left|right; 距离(可选) 渐变(可选)-webkit-linear-gradient(right,rgba(0,0,0,1) 0,rgba(0,0,0,0) 50%) resize 自由缩放 Both 水平垂直都可以缩放 Horizontal 只有水平方向可以缩放 Vertical 只有垂直方向可以缩放 注意:一定要配合overflow:auto 一块使用才可以缩放 box-sizing 盒模型解析模式 Content-box 标准盒模型 盒模型的宽高=border+padding+content(width|height) Border-box 怪异盒模型 width/height=content 盒模型的宽高=width/height Content的宽高=width/height-border-padding 4、Css3分栏布局: column-width 栏目宽度 column-count 栏目列数 column-gap 栏目距离 column-rule 栏目间隔线 宽度、内容都是平均分配
5、css3弹性布局、分栏布局注意点、特性
响应式布局: 1、媒体类型 all 所有媒体 braille 盲文触觉设备 embossed 盲文打印机 print 手持设备 projection 打印预览 screen 彩屏设备(常用) speech ‘听觉‘类似的媒体类型 tty 不适用像素的设备 tv 电视 2、关键字 And 条件同时成立 not not关键字是用来排除某种制定的媒体类型 only only用来指定某种特定的媒体类型 3、媒体特性 (max-width:600px) (max-device-width: 480px) 设备输出宽度 (orientation:portrait) 竖屏 (orientation:landscape) 横屏 (-webkit-min-device-pixel-ratio: 2) 像素比 devicePixelRatio 设备像素比 window.devicePixelRatio = 物理像素 / dips 4、样式引入方式(三种) (1)、<link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min-width: 800px)"> (2)、@import url("css/reset.css") screen; (3)、@media screen [and 条件]{ 选择器{ 属性:属性值; } } 5、样式引入举例 <link rel=”stylesheet” media=”all and (orientation:portrait)” href=”portrait.css”> <link rel=”stylesheet” media=”all and (orientation:landscape)”href=”landscape.css”> @media screen and (min-width:400px) and (max-width:500px) {.box {margin: 0 auto;}} ----------------------------------------------------------------------------------- <link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min-width: 800px)"> <link rel="stylesheet" type="text/css" href="styleB.css" media="screen and (min-width: 600px) and (max-width: 800px)"> <link rel="stylesheet" type="text/css" href="styleC.css" media="screen and (max-width: 600px)"> ----------------------------------------------------------------------------------- 6、移动端meta <meta name="viewport" content="" /> width [pixel_value | device-height] height [pixel_value | device-height] user-scalable 是否允许缩放 (no||yes) initial-scale 初始比例 minimum-scale 允许缩放的最小比例 maximum-scale 允许缩放的最大比例 target-densitydpi [dpi_value | device-dpi | high-dpi | medium-dpi | low-dpi]
5、响应式布局及注意点
indexa.css代码如下: @charset "utf-8"; /* CSS Document */ .wrap{border:1px solid #000; font:14px/28px "宋体";color:#000; text-indent:2em; -webkit-column-count:4; -webkit-column-gap:30px; -webkit-column-rule:1px solid #000;} indexb.css代码如下: @charset "utf-8"; /* CSS Document */ .wrap{border:1px solid #000; font:16px/28px "宋体";color:#000; text-indent:2em; -webkit-column-count:2; -webkit-column-gap:20px; -webkit-column-rule:1px solid #000;} indexc.css代码如下: @charset "utf-8"; /* CSS Document */ .wrap{border:1px solid #000; font:16px/28px "宋体";color:#000; text-indent:2em;} 具体实例1: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <!--重要部分--> <link rel="stylesheet" type="text/css" href="indexa.css" media="screen and (min-width:800px)"> <link rel="stylesheet" type="text/css" href="indexb.css" media="screen and (min-width:400px) and (max-width: 800px)"> <link rel="stylesheet" type="text/css" href="indexc.css" media="screen and (max-width: 400px)"> </head> <body> <div class="wrap"> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> </div> </body> </html> 具体实例2: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <link rel="stylesheet" media="all and (orientation:portrait)" href="indexb.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="indexa.css"> </head> <body> <div class="wrap"> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> </div> </body> </html> 具体实例3: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> @media screen and (min-width:800px) { .wrap{border:1px solid #000; font:14px/28px "宋体";color:#000; text-indent:2em; -webkit-column-count:4; -webkit-column-gap:30px; -webkit-column-rule:1px solid #000;} } @import url("indexc.css") screen and (min-width:400px) and (max-width:800px); @media screen and (max-width:400px) { .wrap{border:1px solid #000; font:16px/28px "宋体";color:#000; text-indent:2em; -webkit-column-count:2; -webkit-column-gap:20px; -webkit-column-rule:1px solid #000;} } </style> </head> <body> <div class="wrap"> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> <p>按照淘宝首页的无缝图片切换做:第一张和最后一张复制,打开浏览器时ul的left是-520,然后走完最后一张,ul的left是-1040。这样实现无缝切换,我就是卡在这里了,它这么样实现到最后一个还是顺着到-1040,保证不是倒 ...</p> </div> </body> </html>
6、响应式布局实例
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <style> @font-face { font-family: ‘ff‘; src: url(‘1-webfont.eot‘); src: url(‘1-webfont.eot?#iefix‘) format(‘embedded-opentype‘), url(‘1-webfont.woff‘) format(‘woff‘), url(‘1-webfont.ttf‘) format(‘truetype‘), url(‘1-webfont.svg#untitledregular‘) format(‘svg‘); font-weight: normal; font-style: normal; } #wrap{width:600px;margin:0 auto; position:relative;} #wrap label{float:left;margin:0 5px;} #wrap label span:nth-of-type(1){float:left;height:30px;background:#f60; font:14px/30px "宋体"; color:#fff;padding:0 10px; transition:.3s;} #wrap label span:nth-of-type(1):hover{ background:green;} #wrap label i{ font:30px "ff"; padding:0 5px; vertical-align:middle;} #wrap label span:nth-of-type(2){ position:absolute;left:0;top:30px;border:1px solid #000;height:300px; opacity:0;z-index:1;padding:10px; font:12px/24px "宋体";color:rgba(0,0,0,1);transition:2s;text-shadow:0 0 30px rgba(0,0,0,1); color:rgba(0,0,0,0);} #wrap input{ position:absolute;top:-50px;} #wrap input:checked~span:nth-of-type(1){background:green;} #wrap input:checked~span:nth-of-type(2){ z-index:2;opacity:1; text-shadow:0 0 0 rgba(0,0,0,0); color:rgba(0,0,0,1);} </style> </head> <body> <div id="wrap"> <label> <input id="btn1" type="radio" name="btns" checked /> <span><i>0</i>dddd简介</span> <span>ddddddddddd3423432432432542532ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd<br /> 目前主要针对的更多惊喜。</span> </label> <label> <input id="btn1" type="radio" name="btns" /> <span><i>1</i>dddffd</span> <span>sfsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsdfsfsf</span> </label> <label> <input id="btn1" type="radio" name="btns" /> <span><i>2</i>fdgfd</span> <span>sfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsf</span> </label> <label> <input id="btn1" type="radio" name="btns" /> <span><i>3</i>sfdsf</span> <span>sfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsfsfdsf fffdsf</span> </label> </div> </body> </html>
7、css3伪类(结合:checked伪类实现鼠标单击切换效果)实例
时间: 2024-10-24 02:49:51