`

CSS居中的实现用法实例详解

 
阅读更多
转载的一篇文章,讲解css内容居中的。
网上有关css 居中的文章不胜枚举,不过大多没有做系统的总结。
这里分享的这篇有关css居中的文章,个人感觉不错,值得收藏。 

一、水平居中
1,将元素水平居中(use margin & width property)
css code:
div.h_align{
 border: 1px solid black;
  margin: 0 auto;
  width: 50%;/*必须指定宽度,可为百分比或像素值*/
}
html code:
<div class="h_align">我用margin:0 auto!come on 求水平居中!</div>
小结:
使用上述方法水平居中,必须指定宽度

compatibility:
Firefox\Chrome\Safari\Opera\IE 9 8 7 6

2.将元素水平居中(use absolute position & width)
css code:
div.pos{
  border: 1px solid red;
  position: absolute;
  left: 50%;
  width: 300px;
  margin-left: -150px;
}
html code:
<div class="pos">我用绝对定位!同求水平居中!</div>
小结:
利用绝对定位 left 50%以后,使负外边距的值为元素宽度的一半,从而实现居中(这个思路也可以用在垂直居中上)


compatibility:
Firefox\Chrome\Safari\Opera\IE 9
IE 8及以下均不兼容,等我以后写个解析


3.将元素水平居中(IE 6\7 solution)
css code:
 div.textAlign{
    margin-top:100px;
    text-align: center;
}
div.textAlign div{
    text-align: left;
    width:500px;
    background-color:green;
}
html code:
<div class="textAlign"><!--text-align:center IE7 6-->
<div>来来来来来来来~~~ text-align :center!只能把我用在IE6 7!</div>
    </div>
小结:
在低版本IE中,text-align不仅用于文本,也用于元素本身的位置偏移,因此在IE6 7中使用text-align会使子元素也随着文本一并居中,此时只要在子元素中应用一次text-align:left就可以实现元素水平居中

compatibility:
IE 7\6

二、垂直居中
1.单行文本垂直居中
css code:
p.single_line{
    border: 1px solid green;

    /*key code:*/
    height: 4em;
    line-height: 4em;
    overflow: hidden;

 html code:

<p class="single_line">我是单行文本!我有100px高,我要垂直居中!</p>
小结:
(1)key:令行距和元素高度相同,这样就限定了容器内只能容纳一行文本内容,于是文本就居中了
(2)设定height和line-height时,推荐使用相对单位em,这样能够在字体非常大的时候,依然保持居中
(3)overflow:hidden是必须的,理由同上,也是为了保持居中
(4)优点:块元素和行内元素均适用此方法,并且在主流浏览器中适用
(5)缺点:文本长度有限(最多只能一行),且对于非文本的元素无效
 
2.无固定高度的多行文本垂直居中
css code:
p.multi_line{
    border: 1px solid gray;
    width: 100px;

    /*key code:*/
    padding-top: 30px;
    padding-bottom: 30px;
}
 html code:
<p class="multi_line">我是多行文本!我宽100px但是没有固定高度!跪求垂直居中!</p>
 小结:
  (1)key:令上内边距和下内边距相等。值是多少无所谓,相等即可,使用上下外边距相等也可
  (2)优点:块元素和行内元素均适用此方法,非文本元素也可以使用,并且在主流浏览器中适用
  (3)缺点:无法设置高度

3.将固定高度的容器模拟表格布局实现垂直居中
css code:
div.wrap1{
    border: 1px solid black;
    /*key code:*/
    display:table;
    height:300px;
}
div.wrap2{
    /*key code:*/
    display:table-row;
}
div.wrap3{
    /*key code:*/
    display:table-cell;
    vertical-align:middle;
}
div.maincontent{
    width:350px;
    background-color:black;
    color: white;

    /*key code:*/
    height:90px;/* less than wrap1.height */    
}
 html code:
 <div class="wrap1">
<div class="wrap2">
    <div class="wrap3">
<div class="maincontent">脚本学堂---提示:高300px,我自己是350 X 90 px,我也可以居中啦哇哈哈,可是别在IE6/7下看我噢</div>
<!-- other content -->
    </div>
</div> 
    </div>
小结:
(1)key:使用display属性中的table、table-row、table-cell来将元素模拟成表格布局。处于wrap3中的所有元素都会垂直居中,但是它们的高度总和不能超过wrap1的高度
(2)使用display:table-cell的时候必须同时在祖先元素使用display:table
(3)缺点:不能在IE6/7下实现

4.IE7及以下的解决办法
css code:
div.IE7wrap1{
    border: 1px solid pink;
    /*key code:*/
    height: 300px;
    position: relative;
}
div.IE7wrap2{
    /*key code:*/
    position: absolute;
    top: 50%;
    left: 0;
}
div.IE7maincontent{
    width:350px;
    background-color:black;
    color: white;
    height: 90px;
    /*key code:*/
    position: relative;
    top:-50%;
    left: 0;
}

html code:
<div class="IE7wrap1">
<div class="IE7wrap2">
    <div class="IE7maincontent">嘿哥们,我是IE6/7的解决方案,要看我就要用IE6/7,不然我丑爆了</div>
</div>
    </div>
小结:
(1)算是一个css hack,服务于IE6/7
分享到:
评论

相关推荐

    CSS在固定宽高的div内实现垂直居中的实例详解

    本文将详细介绍如何在固定宽高的div内部实现垂直居中的具体方法,并通过实例来解释这些方法是如何工作的。 首先,需要明确的是,在固定宽高的div中实现垂直居中,与在高度可变的容器中居中有所不同。在高度可变的...

    CSS+DIV网页布局实例40例.rar

    四、实例详解 40个实例覆盖了以下常见布局模式: 1. **基本布局**:如居中对齐、上下结构、左右结构等基础布局。 2. **导航栏**:包括水平导航、下拉菜单、悬浮导航等常见的导航设计。 3. **响应式布局**:针对不同...

    divcss详解实例

    【div+css详解实例】 在Web开发中,`div+css`是一种常见的布局技术,它结合了HTML的`div`标签和CSS(层叠样式表)来实现网页的结构化和美化。`div`标签主要负责定义网页上的区块,而CSS则用来控制这些区块的样式和...

    DIV+CSS网页布局技巧实例

    ### DIV+CSS网页布局技巧实例详解 #### 实例1:设置网页整体居中 在早期的网页设计中,使用表格布局来实现页面居中是非常直观且便捷的方式。但在现代网页设计中,更多采用的是`DIV+CSS`布局,这就需要掌握不同的...

    CSS Flexbox的具体用法详解

    三、实例应用 假设我们有一个`.container`,其中包含一个`.wrap`作为Flex容器,里面有几个`div`作为Flex项目。通过设置`.wrap`的样式,我们可以改变项目的布局方式: ```css .container .wrap { display: flex; ...

    CSS实现垂直居中的七个方法实例代码详解

    ,就可以轻松解决掉水平居中的问题,但一直以来最麻烦对齐问题,都是“垂直居中”这个讨人厌的设定,以下将介绍七种单纯利用CSS垂直居中的方式。 七种垂直居中的方法 设定行高(line-height) 添加伪元素 calc...

    css实现元素水平垂直居中常见的两种方式实例详解

    总结来说,CSS实现元素的水平垂直居中有多种方法,这里主要介绍了flexbox布局和绝对定位结合负margin的两种常见方式。Flexbox方法更现代且适应性强,适合现代浏览器环境;而绝对定位的方法在一些老版本的浏览器中...

    div+css有实例,易学易懂

    - **CSS代码编写**:编写CSS代码实现菜单样式。 #### 清除浮动 - **清除浮动属性详解**:`clear`属性用于防止元素与前一浮动元素重叠。 - **清除浮动属性的使用**:如何在页面中使用`clear`属性。 ### CSS定义...

    微信小程序 flex实现导航实例详解

    微信小程序 flex 实现导航实例详解 微信小程序 flex 实现导航实例详解是小程序开发中一个非常重要的知识点,本文将详细介绍微信小程序 flex 实现导航实例详解的相关资料。 flex 布局 flex 布局是小程序中一种常用...

    移动Web开发中的CSS变换与动画技术详解

    此外,还包括了如何利用变换函数来创建居中布局以及如何调整元素转换的原点,进一步讲解了线性和径向渐变的实现方法,探讨了在三维空间下的转化,如translate3d、rotateX/Y/Z等函数的应用,最后阐述了CSS3中的动画...

    Div+Css实例源代码

    《Div+Css实例源代码详解》 Div+CSS,即HTML中的标签与CSS(层叠样式表)相结合的技术,是网页布局设计中的核心工具。这种技术的应用,使得网页设计更加灵活,代码结构更加清晰,同时提高了网页的可维护性和可访问...

    divcss布局实例

    ### divcss布局实例知识点 #### 一、divcss布局简介 在网页设计中,`div+css`是一种非常常见的布局方式。它通过HTML中的`&lt;div&gt;`元素与CSS(层叠样式表)相结合来实现页面的布局效果。这种方式相较于传统的表格布局...

    DIV+CSS网页设计实例教程

    ### DIV+CSS网页设计实例教程知识点详解 #### 第一步:规划网站 - **知识点概述**: - 在开始任何项目之前,明确规划是至关重要的。本步骤涉及的是如何规划一个网站的基本布局,并通过实例来进行说明。 - **详细...

    css3图书3D动画.zip

    《CSS3图书3D动画详解》 在当前的网页设计领域,CSS3已经成为了不可或缺的一部分,它赋予了网页丰富的视觉效果和动态交互性。本文将深入探讨如何利用CSS3实现一款立体旋转3D图书动画特效,让网页设计更加生动有趣。...

    BootStrap 图片样式、辅助类样式和CSS组件的实例详解

    在本文中,我们将深入探讨BootStrap框架中的图片样式、辅助类样式以及CSS组件的实例应用。Bootstrap是一款流行的前端开发框架,它提供了丰富的预定义样式和组件,使得开发者能够快速构建响应式和移动设备优先的网页...

    js+css实现回到顶部按钮(back to top).docx

    "JS+CSS实现回到顶部按钮(Back to Top)" 通过本文,我们可以学习到使用JS和CSS实现回到顶部按钮的方法。这个功能可以在页面滚动时出现一个回到顶部的按钮,以便用户快速回到页面的顶部。 首先,我们需要在HTML中...

    jQuery遮罩层实现方法实例详解(附遮罩层插件)

    本文将详细介绍使用jQuery来实现遮罩层的方法,通过实例分析来讲解遮罩层的样式及功能实现技巧,并附带了一个简单遮罩层插件的实现方法。 首先,我们要了解遮罩层的基本要求。遮罩层通常需要一个半透明的背景,这样...

    echarts3 实现地图全国各省市地图下钻 (已修改省份和部分市级名字不居中问题)

    `js`文件则包含Echarts实例的创建、地图数据加载、事件监听以及下钻逻辑的实现。例如,会有一个`myChart.setOption`方法来设置图表的配置,其中包括地图的样式、数据以及交互行为。 6. **Echarts配置项详解** - `...

Global site tag (gtag.js) - Google Analytics