zoukankan      html  css  js  c++  java
  • 【Web前端】CSS div居中显示

    1.内层需要居中的div宽度小于外层,这里的例子是内层宽度300px,外层500px;

    2.内层需要居中的div宽度大于外层,这里的例子是内层宽度700px,外层500px,居中显示里层div,两侧超出部分隐藏;

    把一个宽度小于父元素的层居中显示很简单,只需要设置该元素的margin值,将left和right设置为auto即可:

     1 <html xmlns="http://www.w3.org/1999/xhtml">
    2 <head>
    3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    4 <title></title>
    5 <style type="text/css">
    6 .outer{
    7 width:500px;
    8 background-color:#999999;/*外层背景用灰色*/
    9 padding:10px 0px;/*指定一个上下内边距便于查看效果*/
    10 text-align:center;
    11 }
    12 .inner{
    13 width:300px;
    14 height:50px;
    15 background-color:#FF0000;/*内层背景用红色*/
    16 margin:0 auto;
    17 }
    18 </style>
    19 </head>
    20
    21 <body>
    22 <div class="outer">
    23 <div class="inner"></div>
    24 </div>
    25 </body>
    26 </html>

    但是,当里面的div宽度大于外层时,这个就不起效果了,为了兼顾高分辨率屏幕的效果,必须处理这个问题,我碰到的需求是要保证主体大小,当屏幕分辨率低时两侧修饰物不需要全部显示,尝试着沿用上面的思路,试了许多都没有作用,用js写出来的代码在调整屏幕大小的时候不会跟着调整,所以还是要靠css,解决方法是:(1)将里层div的left设置为50%,即让里层div的左边界处在外层div的水平中央位置。(2)设置里层div的左侧外边距为其宽度一半的负值,里外层div的中心线就会重合,代码如下:

     1 <html xmlns="http://www.w3.org/1999/xhtml">
    2 <head>
    3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    4 <title></title>
    5 <style type="text/css">
    6 .outer{
    7 position:relative;/*提醒:如果"position"值为"static",那么设置"left"将不产生任何效果*/
    8 width:500px;
    9 left:150px;
    10 background-color:#999999;/*外层背景用灰色*/
    11 padding:10px 0px;/*指定一个上下内边距便于查看效果*/
    12 text-align:center;
    13 overflow:hidden;/*超出部分隐藏*/
    14 }
    15 .inner{
    16 position:relative;
    17 width:700px;
    18 height:50px;
    19 left:50%;/*移到外层div的水平中心*/
    20 background-color:#FF0000;/*内层背景用红色*/
    21 margin-left:-350px;/*左移700/2的像素距离*/
    22 }
    23 </style>
    24 </head>
    25 <body>
    26 <div class="outer">
    27 <div class="inner"></div>
    28 </div>
    29 </body>
    30 </html>

    这个方法也比较简单,只是之前没有碰到过这样的要求,一时想不到,浪费了不少时间。

  • 相关阅读:
    MATLAB计算机视觉与深度学习实战
    硬件创业:从产品创意到成熟企业的成功路线图
    Xcode5 创建模板和UIView 关联XIB
    iOS Development: Proper Use of initWithNibName:bundle: Affects UITableViewController
    自定义UIViewController与xib文件关系深入分析
    UIViewController XIB/NIB加载过程
    ios多视图开发中:xib与UIViewController的关联
    UIAlertView、UIActionSheet兼容iOS8
    Xcode6中怎么添加空工程模板
    [OC Foundation框架
  • 原文地址:https://www.cnblogs.com/smarterplanet/p/2178576.html
Copyright © 2011-2022 走看看