背景样式、列表样式、变形样式、过渡动画

背景样式

背景原点:background-origin :

border-box(从border区域(含border)开始显示背景图像。)

padding-box(从padding区域(含padding)开始显示背景图像。)

content-box(从content区域开始显示背景图像。)

<style type="text/css">
        .box{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: border-box;
        }
        .box2{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: padding-box;
        }
        .box3{
            width: 250px;
            height: 250px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_01.jpg) no-repeat;
            border:10px dashed red;
            background-origin: content-box;
        }
</style>

 <body>
      <div class="box"><p>从border区域(含border)开始显示背景图像。<p></div>
      <div class="box2"><p>从padding区域(含padding)开始显示背景图像。<p></div>
      <div class="box3"><p>从content区域开始显示背景图像。<p></div>
 </body>

效果如下:

背景的显示区域

设定背景图像向外裁剪的区域。

background-clip :

padding-box:从padding区域(不含padding)开始向外裁剪背景。

border-box:从border区域(不含border)开始向外裁剪背景。

content-box:从content区域开始向外裁剪背景。

text:从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果。

<style type="text/css">
        .box{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: border-box;
        }
        .box2{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: padding-box;
        }
        .box3{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            background-clip: content-box;
        }
        .box4{
            width: 200px;
            height: 200px;
            float: left;
            margin-left: 20px;
            padding: 20px;
            background:#aaa url(zzfw_02.jpg) no-repeat;
            border:10px dashed red;
            -webkit-background-clip:text;
            -webkit-text-fill-color:transparent;
            font-weight:bold;
            font-size:30px;
        }
        p{ margin-top: 150px; font-size: 20px; color: #fff; font-weight: bold; }
    </style>



<body>
    <div class="box"><p>从border区域(不含border)开始向外裁剪背景。<p></div>
    <div class="box2"><p>从padding区域(不含padding)开始向外裁剪背景。</p></div>
    <div class="box3"><p>从content区域开始向外裁剪背景。</p></div>
    <div class="box4">从前景内容的形状(比如文字)作为裁剪区域向外裁剪</div>
</body>

效果如下:

背景尺寸

background-size:

div{background-size:100px 150px;}  /*调背景图片的大小*/

 

多重背景

注意:

用逗号隔开每组 background 的缩写值;

如果有 size 值,需要紧跟 position 并且用 "/" 隔开;

如果有多个背景图片,而其他属性只有一个(例如 background-repeat 只有一个),

表明 所有背景图片应用该属性值。

background-color 只能设置一个。

 .box{
            width: 500px;
            height: 250px;
            background: url(05.jpg) no-repeat 367px 131px,url(04.jpg) no-repeat 142px 52px,url(03.jpg) no-repeat 78px 86px,url(01.jpg) no-repeat 14px 65px,url(02.jpg) no-repeat 60px 25px;
        }

多个背景图片效果如下:

 

列表样式

项目符号:

list-style-type : 

取值:

disc:实心圆

circle:空心圆

square:实心方块

decimal:阿拉伯数字

lower-roman:小写罗马数字

upper-roman:大写罗马数字

lower-alpha:小写英文字母

upper-alpha:大写英文字母

none:不使用项目符号

armenian:传统的亚美尼亚数字

cjk-ideographic:浅白的表意数字

georgian:传统的乔治数字

lower-greek:基本的希腊小写字母

hebrew:传统的希伯莱数字

hiragana:日文平假名字符

hiragana-iroha:日文平假名序号

katakana:日文片假名字符

katakana-iroha:日文片假名序号

lower-latin:小写拉丁字母

upper-latin:大写拉丁字母

 常用的有:

.disc{list-style-type:disc;}
.circle{list-style-type:circle;}
.square{list-style-type:square;}
.decimal{list-style-type:decimal;}
.lower-alpha{list-style-type:lower-alpha;}
.upper-alpha{list-style-type:upper-alpha;}
.none{list-style-type:none;}

 效果如下:

      

 

list-style-position

取值:

outside:列表项目标记放置在文本以外,且环绕文本不根据标记对齐

inside:列表项目标记放置在文本以内,且环绕文本根据标记对齐

.outside{width:120px;list-style-position:outside;}
.inside{width:120px;list-style-position:inside;}

效果如下:

    

自定义项目符号

语法:list-style-image : none | url ( url ) 

.div{list-style-image:url(skin/ico.png);}

效果如下: 

   

 

变形样式

 transform

1. translate():指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0

 

/*从原始位置移动到x轴200px的位置,y轴200px我位置 */
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translate(200px, 200px);
                }                                    

2. translateX()

/*移动x轴,指定对象X轴(垂直方向)的平移 、从原始位置移动向x轴200px的位置,y轴同原来的y轴系数一样*/
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translateX(200px);
                }

3. translateY()

/*移动y轴,指定对象X轴(水平方向)的平移 、从原始位置移动向y轴250px的位置*/
          div { 
                    width: 100p x;
                    height: 100px;
                    border: 10px solid red;
                    background-color: #808080;
                    transform: translateY(250px);
                }

4. rotate():(2D旋转)

/*旋转15度*/
.circle-box { width: 100px; height: 100px; border-radius: 10px; margin: 50px 0 0 50px; background-color: #808080; transform: rotate(15deg); }

效果如下:

 


5. scale()

/*按原来的大小的x轴放大1.1倍,y轴按原来的放大2.2倍*/
/*整数就相当于放大,负数的就相当于缩小*/

.box{
                transform: scale(1.1, 2.2);
            }

 

6. skew():(斜切扭曲)

/*第一个参数对应X轴=40ded,第二个参数对应Y轴=10deg。如果第二个参数未提供,则默认值为0 */ 
.box { transform: skew(40deg, 10deg); }

效果如下:

 


7. translate3d()

指定对象的3D位移。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略 

9. transform-origin

 任何一个元素都有一个中心点,默认情况之下,其中心点是居于元素X轴和Y轴的50%处。

 

#div1
{
    position: relative;
    height: 200px;
    width: 200px;
    margin: 100px;
    padding:10px;
    border: 1px solid black;
}

#div2
{
    padding:50px;
    position: absolute;
    border: 1px solid black;
    background-color: red;
    transform: rotate(45deg);
    transform-origin:50% 0%;
    -ms-transform: rotate(45deg); /* IE 9 */
    -ms-transform-origin:50% 0%; /* IE 9 */
    -webkit-transform: rotate(45deg); /* Safari and Chrome */
    -webkit-transform-origin:50% 0%; /* Safari and Chrome */
}

效果如下:

 

 

过渡动画

 transition-property(过渡属性)

 transition-property: all  (代表所有属性,称为全局属性)

div
{
    width:100px;
    height:100px;
    background:red;
    transition-property: width;  /*过度属性是宽度width*/
    transition-duration: 2s; /*过渡所需时间*/
    -webkit-transition-property: width; /* Safari */
    -webkit-transition-duration: 2s; /* Safari */
}
div:hover
{
    width:300px;
}

 效果如下:

 鼠标未移上之前:            鼠标移上之后增加宽度300px的所需时间为2秒速度过渡的效果:

 

 

 transition-duration(过渡所需时间):

div{
                       transition-duration: .5s;/*过度所需要的时间为0.5秒*/
}

 

 transition-timing-function(动画--过渡函数) :

 

参数说明:

ease:默认值,逐渐变慢(cubic-bezier(0.25,0.1,0.25,1))

linear:匀速过渡效果(等于 cubic-bezier(0,0,1,1))

ease-in:加速的过渡效果(等于 cubic-bezier(0.42,0,1,1))

ease-out:减速的过渡效果(等于 cubic-bezier(0,0,0.58,1))

ease-in-out:加速然后减速(等于cubic-bezier (0.42, 0, 0.58, 1.0))

cubic-bezier(n,n,n,n):在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。(动画速度自定义)

 

div{
            transition-timing-function:linear;  /*匀速过度*/
            transition-timing-function:ease;   /*默认值,逐渐变慢*/
            transition-timing-function:ease-in;   /*由慢到快*/
            transition-timing-function:ease-out;  /* 由快到慢*/
            transition-timing-function:ease-in-out;   /*由慢到快再到慢*/

}  

transition-delay(动画--过渡延迟时间):

 

div  {
                    transition-delay:.1s;    /*延迟0.1秒再执行*/
}

 

transition(过渡)

可以将以上四个transition的属性值缩写:

div{
      -webkit-transition: all .5s ease-in .1s;
      transition: all .5s ease-in .1s;    /* 全局属性all、过度所需的时间是0.5秒、加速的过渡效果ease-in、延迟0.1秒*/

}

 

posted @ 2016-08-14 01:36  H5·can  阅读(1976)  评论(0编辑  收藏  举报