码迷,mamicode.com
首页 > 其他好文 > 详细

书写简单的页面,第二周。

时间:2015-12-06 17:46:57      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

2D和3D的转换

2D转换



    transform 向元素应用 2D 或 3D 转换。

    步骤:

    1.设置div块的样式

    2.设置div块的运动角度(deg)

    3.每个浏览器特殊的前缀名要加上

    例:

    div

    {

    width:100px;

    height:75px;

    

    border:1px solid black;

    transform:skew(30deg,20deg);

    -ms-transform:skew(30deg,20deg); /* IE 9 */

    -moz-transform:skew(30deg,20deg); /* Firefox */

    -webkit-transform:skew(30deg,20deg); /* Safari and Chrome */

    -o-transform:skew(30deg,20deg); /* Opera */

    }

    </style>

    </head>

    <body>

    <div></div>
3D转换
    transform 向元素应用 2D 或 3D 转换。 

    transform-origin 允许你改变被转换元素的位置。 

    transform-style 规定被嵌套元素如何在 3D 空间中显示。 

    perspective 规定 3D 元素的透视效果。  

    perspective-origin 规定 3D 元素的底部位置。

    backface-visibility 定义元素在不面对屏幕时是否可见。

    例:

     div

    {

    transform: rotateX(120deg);

    -webkit-transform: rotateX(120deg);    /* Safari 和 Chrome */

    -moz-transform: rotateX(120deg);    /* Firefox */

    }

    同上改变y轴也是一样,rotateX()改为rotateY()

CSS3动画

    

    @keyframes 规定动画。  

    animation 所有动画属性的简写属性,除了 animation-play-state 属性。  

    animation-name 规定 @keyframes 动画的名称。  

    animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。  

    animation-timing-function 规定动画的速度曲线。默认是 "ease"。  

    animation-delay 规定动画何时开始。默认是 0。  

    animation-iteration-count 规定动画被播放的次数。默认是 1。 

    animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 

    animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 

    animation-fill-mode 规定对象动画时间之外的状态。

    例:

        <style>

        div {

            width: 100px;

            height: 100px;

            background: yellow;

            position: relative;

            animation-name: myfirst;

            animation-duration: 5s;

            animation-timing-function: linear;

            animation-delay: 2s;

            animation-iteration-count: infinite;

            animation-direction: alternate;

            animation-play-state: running;

            border-radius: 25px;

            box-shadow: 20px 15px 5px blue;

            -webkit-box-shadow: 20px 15px 5px blue;

            -webkit-border-radius: 25px;

            /* Safari and Chrome: */

            -webkit-animation-name: myfirst;

            -webkit-animation-duration: 5s;

            -webkit-animation-timing-function: linear;

            -webkit-animation-delay: 2s;

            -webkit-animation-iteration-count: infinite;

            -webkit-animation-direction: alternate;

            -webkit-animation-play-state: running;

        }







        @keyframes myfirst {

            0%{background: yellow; left:0px;top: 0px;}

            25%{background: red;left: 380px;top:0px;}

            50%{background: blue;left:150px;top:250px;}

            75%{background: darkmagenta;left: 0px;top:250px;}

            100%{background: black;left: 0px;top:0px;}

        }





            @-webkit-keyframes myfirst {

                0%{background: yellow; left:0px;top: 0px;}

                25%{background: red;left: 380px;top:0px;}

                50%{background: blue;left:150px;top:250px;}

                75%{background: darkmagenta;left: 0px;top:250px;}

                100%{background: black;left: 0px;top:0px;}

           }
    </style>

垂直对齐方式、设置图片文本透明度和制作导航

display
    display 属性规定元素应该生成的框的类型。

    none 此元素不会被显示。 

    block 此元素将显示为块级元素,此元素前后会带有换行符。 

    inline 默认。此元素会被显示为内联元素,元素前后没有换行符。 

    inline-block 行内块元素。

    例:

    使段落生出行内框:



    p.inline

      {

      display:inline;

      }

vertical-align
    vertical-align 属性设置元素的垂直对齐方式。

    该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

    baseline 默认。元素放置在父元素的基线上。 

    sub 垂直对齐文本的下标。 

    super 垂直对齐文本的上标 

    top 把元素的顶端与行中最高元素的顶端对齐 

    text-top 把元素的顶端与父元素字体的顶端对齐 

    middle 把此元素放置在父元素的中部。 

    bottom 把元素的顶端与行中最低的元素的顶端对齐。 

    text-bottom 把元素的底端与父元素字体的底端对齐。 

    例:

    垂直对齐一幅图像



    img

      {

      vertical-align:text-top;

      }

制作导航实例:
        <style type="text/css">

            div{

                display:none;

            }

            li:hover div{

                display: block;

            }

    

    

        </style>

    </head>

    <body>

    <ul>

        <li>额外企鹅完全

            <div>

                <dl>

    

                    <dd>未经人脸</dd>

                </dl>

            </div>

        </li>

    </ul>



opacity

    opacity 属性设置元素的不透明级别。

    value 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。  

    inherit 应该从父元素继承 opacity 属性的值。 

    例:

    img

    {

    opacity:0.4;

    filter:alpha(opacity=40); 

    }

 

重要!:

BFC和IFC环境

BFC



    BFC就是块级格式化上下文

    BFC是一个独立的渲染区域,经常使用“overflow:hidden;”

    来触发BFC的环境因为BFC必须要经过触发才能实现独立的运行环境;

    就比如一个房间和一个走廊,房间里面不管发生什么事情

    都不关走廊的事;反之,走廊发生任何事情也与房间无关。

    实例:

     <style type="text/css">

        .da{

            background: black;

            width: 300px ;

            height: 300px;

            /*padding-top:10px;*/

            overflow:hidden;

        }



        .xiao{

            background: red;

            width: 50px;

            height: 50px;

            margin-top: 50px;



        }



    </style>







    </head>

    <body>

    <div class="da">

    <div class="xiao"></div>

    </div>

    

**BFC注意事项**



    BFC环境必须经过触发才能实现

    含义:块级格式化上下文

    经常使用“overflow:hidden;”触发BFC环境


IFC

    

    行内格式化上下文

    在IFC中,框(boxes)?个接?个地?平排列,起点是包含块的顶部。?平?向上的margin, border和padding在框之间得到

    保留。框在垂直?向上可以以不同的?式对?:它们的顶部或底部对?,或根据其中?字的基线对?。包含那些框的??形区域,

    会形成??,叫做?框(line box)。

    ?个?框的宽度由包含它的元素的宽度和包含它的元素??有没有float元素来决定,?度的确定由??度计算规则决定。

    ?框的?度?以包含他的内部容器,也可能?它包含的容器们都?(?如在基线对?的时候),当他包含的内部容器的?度?于?

    框的?度时,内部容器的垂直位置由??的vertical(默认值是baseline)这个属性来确定。(这个性质可以?来实现垂直居中)

        

    当IFC设置了高宽时,vatical——align:midden必须和line-height一起配合使用才能实现IFC环境

    实例:

    当设置高宽时:

       <style type="text/css">

        div{

            width: 600px;

            height: 700px;



            border: 1px solid;

        }

        img{

            vertical-align: middle;

            border: 1px solid;

        }

        span{

            line-height: 700px;

            vertical-align: middle;

            border: 1px solid;



        }





    </style>

    </head>

    <body>

    <div>

    <img src="sprites2.png" />

    <span>居中</span>

    </div>

    **注意**

    行高必须和设置的div框高度相同才能实现图片居中

**当不设置高宽时**



    例:

    <style type="text/css">



        span{

            border: 1px solid #ff0000;

        }



        div{

            border: 1px solid #000000;

        }

        img{

            vertical-align: middle;

            border: 1px solid #ff0000;

        }



    </style>



    </head>

    <body>



    <div>

    <img src="sprites2.png" />

    <span>我要垂直居中</span>

        </div>

    因为最外围的div框时被内容撑大的所以只需要输入“vertical-align: middle;”(垂直居中)就可以了

  注意书写网页时必须格式规范,大的div框必须要把所有小的div框框好,每个div框之间必须要有逻辑性 不能影响布局

所有的行类元素和块级元素都要运用好不能出现混乱,浮动后可以清楚浮动不影响下一行或块的浮动 适当使用BFC和IFC环境 每个元素标签运用得当,熟记每个元素标签的意思,尽量习惯使用css文本书写代码一面造成不必要的麻烦;书写网页时应该把整个网页分为三个或数个部分语义化标签(header、center、footer)这样会使编写代码是更清楚明了,修复bug时也更容易。

 

书写简单的页面,第二周。

标签:

原文地址:http://www.cnblogs.com/lmke/p/5023908.html

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