精通CSS与HTML设计模式 第八章(盒型模型属性)

定位的祖父元素
没有定位的父元素
水平拉伸的静态元素
垂直拉伸的绝对元素
水平拉伸的绝对元素

                             

代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
<title>无标题页</title>
    
<style type="text/css">
        div
        {
            border: solid 1px;
        }
        .gp
        {
            position: relative;
            width: 500px;
            height: 200px;
             margin
-left:150px;
             margin
-top:150px;
        }
        .parent
        {
            width: 300px;
            height: 150px;
            margin
-left: 20px;
        }
        #hss
        {
            margin
-left: 30px;
            margin
-right: 30px;
            width: auto;
             
        }
        #vsa
        {
            position:absolute;
            width:120px;
            left:auto;
            margin
-left:auto;
            right:
0;
            margin
-right:70px;
            height:auto;
            top:
0;
            margin
-top:-30px;
            bottom:
0;
            margin
-bottom:-30px;
            z
-index:1000;
           
        }
        #hsa
        {
            position:absolute;
            margin
-left:-30px;
            margin
-right:-30px;
            margin
-top:30px;
            margin
-bottom:-30px;
            width:auto;
            left:
0;
            right:
0;
            
        }
    
</style>
</head>
<body>
    
<div class="gp">
        定位的祖父元素
        
<div class="parent">
            没有定位的父元素
            
<div id="hss">
                水平拉伸的静态元素
</div>
            
<div id="vsa">
                垂直拉伸的绝对元素
</div>
            
<div id="hsa">
                水平拉伸的绝对元素
</div>
        
</div>
    
</div>
</body>
</html>

 

  一、缩进

                   static 缩进   水平拉伸静态元素

                   父元素width为300px  

                   {

                       width:auto;

                        margin-left:50px;

                        margin-right:50px;

                        width:auto;

                          }

                     这样的话子元素左右各缩进了50px  子元素宽度为100px                                      

                     总结:对于静态元素设置了width:auto,除去左右空隙就是其剩下的宽度

                     absolute  缩进    垂直拉伸的绝对元素

                      绝对定位的margin值必须要知道它的top,bottom,left,right,因为只有这样才能知道它外框,不然他是包围元素的内容

                      总结:对于绝对定位的,如果想要其垂直拉伸,必须指定其top,bottom  将其拉伸,同理可得left,rigth将其左右拉伸

 

 二、静态元素偏移

                 静态元素偏移一般采用margin-left  margin-right  margin-top  margin-bottom 进行偏移

                 但是这里对于偏移出父元素,maggin-left:-30px 这种IE6,7都采取截断的方式,只有IE8显示超出部分

三、浮动元素的偏移

                 对于float 来说它与绝对定位(absolute)和固定定位(fixed)不同的是前者同为folat的元素相互影响,而后者两者之间不相互影响。

四、绝对元素和固定元素的偏移

                 绝对定位和固定定位(相对于屏幕的位置,不应滚动条滚动而滚动 ,IE6下不支持position:fixed)

                 在绝对定位和固定定位中根据位置进行margin后左右上下偏移

五、静态内联元素的对齐  左对齐的内容

居中(行高48px)

居右

要由用户代理(而不是 CSS)来确定两端对齐文本如何拉伸,以填满父元素左右边界之间的空间。例如,有些浏览器可能只在单词之间增加额外的空间,而另外一些浏览器可能会平均分布字母间的额外空间(不过 CSS 规范特别指出,如果 letter-spacing 属性指定为一个长度值,“用户代理不能进一步增加或减少字符间的空间”)。还有一些用户代理可能会减少某些行的空间,使文本挤得更紧密。所有这些做法都会影响元素的外观,甚至改变其高度,这取决于用户代理的对齐选择影响了多少文本行。

基准低于基准高于基准

    

       line-height:是设置行高的

       vertical-align:  baseline(基准线)   +V(基准线向上移V)  -V(基准线向下移V)

       text-align:left(靠左),right(靠右),center(居中),justify(实现两端对齐文本效果,慎用,问题多

 六、静态块状元素的对齐与偏移

       1、margin-left:auto;margin-right:auto        这样可以使块状元素居中

       2、不指定块状元素的宽度时,margin-left:Value   这样使其缩进Value距离

七、静态表格的对齐与偏移

         1、块状元素不能被包裹、除非他设定为定位或浮动

         2、内联元素不能设定尺寸,除非他们被设置成定位或浮动 

         3、Table既可以包裹又可以设定尺寸,多才多艺啊

         总结:浮动或定位以后其就具有设置宽度和包裹内容的特性,而table本身就具有这个特性

八、绝对元素的对齐与偏移

 

左上角对齐&偏移

左下角对齐&偏移

中心对齐

右上角对齐&偏移

右下角对齐&偏移

      中心对称的兼容性有点问题

 

     

       

      

posted @ 2010-11-30 16:20  菜鸟吃虫,虫吃菜  阅读(1022)  评论(0编辑  收藏  举报