css3新增选择器

属性选择器 包括h5中新增的自定义属性

<style>
     p[data-id]{color: red}
</style>
<body>
     <p data-id="sasa">sasas</p>
</body>

属性选择器可以指定属性值 的样式变化
E[attr='value'] 指定属性名

<style>
     p[data-id='111']{color: red}
</style>
<body>
     <p data-id="111">sasas1</p>
     <p data-id="222">sasas2</p>
     <p data-id="333">sasas3</p>
</body>

只有第一行才会变为红色
E[attr~='value'] 属性对应的值是许多个值 其中包括这个value
E[attr^='value'] 属性对应的值是以value开头的 一个值
E[attr$='value'] 属性对应的值是以value结束的 一个值
E[attr*='value'] 属性对应的值中包含value字符串包含字母 一个值
E[attr|='value'] 属性值是以 value- 开始的
结构选择器
p:nth-child(1|odd(2n)|even(2n-1)) 作为第一个孩子的p会被选择到
p:nth-last-child(1|odd(2n)|even(2n-1)) 作为倒数第几个孩子的p节点
p:nth-of-type(1|odd(2n)|even(2n-1)) 找到父级下的第二个p标签
p:nth-last-of-type(1|odd(2n)|even(2n-1)) 找到父级下的倒数第二个p标签
p:first-child ==p:nth-child(1)
p:last-child ==p:nth-last-child(1)
P:first-of-type==p:nth-of-type(1)
p:empty 表示元素中没有子节点
p:only-of-type 表示p的父元素中只有一个子节点 且这个唯一的子节点的必须是p
p:only-child 表示p的父元素中只有一个子节点 且这个唯一的子节点的必须是p

css3中新增加的伪类
URL 带有后面跟有锚名称 #,指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。
:target 选择器可用于选取当前活动的目标元素。
url#value
div:target 会选择到id为target的div
表单新增的伪类
input:disabled{} 会选择到不能编辑的输入框
input:enabled{} 会选择到能编辑的输入框
input:checked{} 会选择到当前选中的复选框
css3新增的兄弟选择器
E~F 选择到的是E元素后边的所有兄弟节点
E+F 选择到的是E后边的第一个兄弟节点
实现模拟单选框

<style>
    label{
        position: relative;
    }
    input{position: absolute;left: -50px;top: -50px;}
    span{
        float: left;width: 50px;height: 50px;border: 1px solid red;margin-left: 10px;background: none;
    }
    input:checked~span{
        background: red;
    }
</style>
<body>
    <label>
       <input type="radio" value="11" name="sex">
        <span></span>
    </label>
    <label>
        <input type="radio" value="11" name="sex">
        <span></span>
    </label>
    <label>
        <input type="radio" value="11" name="sex">
        <span></span>
    </label>
</body>

文本新增选择器
p:first-line 选择到文本的第一行
p:first-letter 选择到文本的第一个文字
p::selection 文本被鼠标选中的时候的样式 注意到时双冒号

    p::selection{
      color: red;background: green;
    }
</style>
<body>
   <p>
       的囧事就打死的大世界第三
   </p>

p:after {content:"添加的内容" 样式}
E:not(F) 选择到不是F的E
h1:not(.h2) 选择到类不是h2的h2标签

文本新增属性

1、rgba颜色模式 红绿蓝透明度(0-1) 背景透明 文字不会透明
2、文字阴影 text-shadow: 0 0 10px red; / x y 模糊程度 阴影颜色/
text-shadow: 第一组阴影,第二组阴影;
3、文字描边 webkit内核浏览器才会支持
-webkit-text-stroke:3px宽度

css3新增盒模型

父元素属性 :
1、display: -webkit-box;
2、内部项目的布局方向 -webkit-box-orient: vertical; 默认是横向显示的
3、内部项目的元素排列 -webkit-box-direction: reverse; 实现元素颠倒
4、水平方向上对项目没有占满的富裕空间的管理 -webkit-box-pack: end 富裕空间在左侧显示
这就可以轻松的实现水平居中了:-webkit-box-pack: center
把富裕空间清军分配给每一个元素:-webkit-box-pack: justify
5、垂直方向上对项目没有占满的富裕空间的管理 -webkit-box-align:center ;
这就可以轻松的实现垂直居中了:-webkit-box-align: center
内部项目的属性:
1、希望元素显示的位置:-webkit-box-ordinal-group:2
希望他显示在第几个

.box div:nth-of-type(1){
        -webkit-box-ordinal-group: 2;
    }

2、弹性空间管理
-webkit-box-flex:1 -webkit-box-flex:5
假设有两个元素 第一个占1/3的父元素的宽度 第二个占2/3的父元素的宽度

css3对盒模型的阴影

box-shadow: 10px 10px 30px blue; //x偏移 y偏移 模糊程度 阴影颜色
box-shadow: inset 10px 10px 30px blue; //投影方式 x偏移 y偏移 模糊程度 阴影颜色
做边框的一个新方法 利用阴影来做 同时阴影可以叠加 一个box上边可以增加多个阴影

css3盒模型的倒影

-webkit-box-reflect: below|left|right|top 倒影和元素之间的距离

<style>
    .box{
        display: block;margin: 20px 20px;-webkit-box-reflect: below;
    }
</style>
<body>
      <img src="111.jpg" class="box">
</body>

css3渐变

background: -webkit-linear-gradient(red 0,blue 100%);
红色在开始 蓝色在结束 的一个渐变

css3的拖拽放大属性

<style>
    .box{
         width: 200px;height: 200px;background:url(111.jpg) ;border: 5px solid #000;resize: both;overflow: auto;
    }
</style>
<body>
    <div class="box"></div>
</body>

但是这个属性必须结合overflow: auto;来实现拖拽放大

css3中盒模型的解析方式

box-sizing:content-box 标准盒模型 默认的
内容宽度=width
可视宽度=width+padding+border
box-sizing:border-box 怪异盒模型
可视宽度=原来的width 所以如果他有padding 此时再设置这个属性 就会导致子元素就会被减小

css3布局相关的东西

分栏布局 针对许多文字 一定要加上webkit前缀
-webkit-column-width: 250px; 每一栏有多宽
-webkit-column-count: 4; 告诉浏览器有多少栏 浏览器自动算每一栏有多宽
-webkit-column-gap:10px 栏目之间多少px
-webkit-column-rule:1px solid red 栏目的分割线的样式

css3实现响应式 IE6 7 8 不兼容

<link red="stylesheet" media="screen and (min-width:800px)" href=>
当设备的宽度在800px以上来引用的
<link red="stylesheet" media="screen and (min-width:400px) and (max-width:800px)" href=>
当设备的宽度在400到800之间 来引用的
<link red="stylesheet" media="screen and (max-width:400px)" href=>
当设备的宽度在400以下的时候 来引用的

<link href= media="all and (orientation:portrait)">
<style >
@media screen and(min-width:600px)
</style>
设备竖屏的情况下会加载这个css
<link href= media="all and (orientation:landscape)">
设备横屏的情况下会加载这个css

css3新增UI样式-border-radius

border-radius:10px;
两个值:左上 右上 左下 右下
三个值:左上 右上左下 右下
实现画椭圆 border-radius: 100px/150px; x轴的半径/y轴的半径

<style>
    .box{
         width: 200px;height: 300px;border: 1px solid red;border-radius: 100px/150px;
    }
</style>
<body>
    <div class="box"></div>
</body>

css3新增UI样式 border-image:url

第一个参数 url 使用的图片
第二个参数 切割图片 对背景的切割 上下 左右 再分配到边框(固定的宽度)上做背景 不加px
第三个参数 图片的排列方式 round stretch

线性渐变

背景和 div的边框图片的属性值 都可以是线性渐变
-webkit-linear-gradient(起点 终点 起点的颜色 终点的颜色)
-webkit-linear-gradient(角度 起点的颜色 第二个新起点的颜色) 逆时针旋转的角度 默认是从左向右
-webkit-linear-gradient(角度 起点的颜色 起点的位置 终点的颜色 终点的位置)
改变某个位置的颜色 直接再在这个位置上写一个颜色
实现鼠标放上去 进度条滚动的效果

<style>
    .box{
         width: 200px;height: 40px;border: 1px solid #000;
     background: -webkit-repeating-linear-gradient(10deg,green 0,green 10px,white 10px,white 20px);transition: 3s;
    }
    .box:hover{
        background-position:200px 0 ;
    }
</style>
<body>
    <div class="box">sasa</div>
</body>

使用 background 的时候 设置多个背景的时候 先设置的在上边 后设置的在下边

径向渐变

起点的位置 left top ,right top ,100px 100px 表示的是圆心的位置
参数2 圆的半径
参数3 形状的设置

背景尺寸 background-size: 宽 高

<style>
    .box{
         width: 300px;height:300px;border: 5px solid black;
        background:url("111.jpg") ;background-size: 100% 100%;
    }
</style>
<body>
    <div class="box">sasa</div>
</body>

属性值的关键字
cover 用背景图片(等比放大)铺满 可能导致图片的宽或者高消失一部分
container 将图片(等比缩小)从而放在div 里边 但是可能会会出现 背景没有覆盖到的地方

背景图的原点设置 background-origin :属性值

padding-box 默认的属性值 原点就是padding的左上角
border-box 原点就是div的边框的左上角
content 原点就是div的内容的左上角

背景图的裁切 background-clip:属性值

border-box 默认值 会从边框部分开始显示北京图片
padding-box 从padding区开始显示背景区
content-box 从内容区开始显示背景区

css-font-face

自定义字体 使用方法

@font-face    //关键字  
{
font-family: myFirstFont;            //定义的字体的名字  
src: url('Sansation_Light.ttf'),     //定义字体的来源 
     url('Sansation_Light.eot'); /* IE9 */     //兼容IE9
}  

这样就可以使用网上现在有的字体库 从而是实现新的定义的字体


丹丹赵
298 声望20 粉丝

« 上一篇
html5
下一篇 »
玩转git和github