Chinaunix首页 | 论坛 | 博客
  • 博客访问: 795178
  • 博文数量: 247
  • 博客积分: 166
  • 博客等级: 入伍新兵
  • 技术积分: 2199
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-15 16:10
文章分类

全部博文(247)

文章存档

2017年(1)

2015年(63)

2014年(80)

2013年(94)

2012年(9)

分类: Html/Css

2014-02-28 08:36:53


定位:

    相对定位是相对于元素在文档流中的初始位置,而绝对定位是相对于最近的已定位的祖先元素,如果不存在已定位的祖先元素,那就相对于最初的包含块。

align与text-align:

    text-align其实严格来讲只应该应用在图文内容上的,之前之所以有人用text-align:center;来做浏览器居中(让所有对象居中),实际上是因为有的浏览器对这个原则要求得不太严格,但并不是所有浏览器对所有元素都会这样处理。所以在开发过程中通常会用margin来实现元素的居中显示。例如这样的一段代码
我想居中

如果要让这个class为container的div水平居中,比较好的作法是先给它定义一个宽度,然后设置margin-left:auto; margin-right:auto; 对应的CSS代码可以是这样: .container {margin:0 auto; width:950px;} 这是在前端开发中最常用,也是最稳妥的一种方法了。

居中布局设计:

第一种方法:
        定义div的宽度,然后将水平空白变设置为auto,例如:
                #box{
                  width:960px;
                  margin:0 auto;
                }
第二种方法:
        容器设置为相对布局,将left设置为50%,对容器的左边应用一个负值的空白边,宽度等于容器宽度的一半,例如:
            #box{
              width:960px;
              position:relative;
              left:50%;
              margin-left:-480px;
            }

垂直居中布局设计:

<style>  
    #warp {  
        
 position: absolute;  
        
 width:500px;    
         height:200px;   
         
left:50%;   
        
 top:50%;   
         
margin-left:-250px;   
         
margin-top:-100px;  
         
border: solid 3px red;   
    }  
style>  
<body>   
    
<div id=warp>Testdiv> 
body>  


两列右列宽度自适应布局:

    有时候需要左栏固定宽度,右栏根据浏览器窗口的大小自动适应。在css中只需要设置左栏宽度,右栏不设置任何宽度值,并且右栏不浮动。

高度自适应:

    直接使用height:100%不会显示效果的,这与浏览器的解析方式有一定关系,例如:
    html,body{
        margin:0px;
        height:100%;
    }
    #left{
        width:250px;
        height:100%;
        background-color:#6cf;
        float:left;
    }
    对#left设置height:100%的同时,也设置了html与body的height:100%,一个对象高度是否可以使用百分比显示,取决于对象的父级对象,#left在页面中直接放置在body中,因此它的父级就是body,而浏览器默认状态下,没有给body一个高度属性,因此直接设置#left的height:100%时,不会产生任何效果,而当给body设置了100%之后,它的子级对象#left的height:100%变起到了作用,这便是浏览器解析规则引发的高度自适应问题。而给html对象设置height:100%,是使ie与firefox浏览器都能实现高度自适应。


阅读(651) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~