码迷,mamicode.com
首页 > Web开发 > 详细

css3基础、(弹性、响应式)布局注意点

时间:2016-06-19 14:21:07      阅读:413      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
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伪类实现鼠标单击切换效果)实例

 

css3基础、(弹性、响应式)布局注意点

标签:

原文地址:http://www.cnblogs.com/codc-5117/p/5596947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!