咕咕鸟-古琴 2016-09-07 09:07 采纳率: 57.1%
浏览 1896
已采纳

盒子垂直居中,垂直居中是div元素,宽度高度被里面的子元素撑开的?

 <div style="width:600px;heigth:600px"><!--这个是父元素-->
    <div class="son"><!--这个是子元素-->
        <h1 class="title">hello word</h1>
        <div class="content">这里面是一堆元素</div>
    </div>
</div>

知道父元素的宽度和height,直接通过css写的width和height, 子元素没有通过style设置width和height,而是通过子元素中内部的元素将其撑开来计算的。
如何让这个子元素居中?

测试过的失败的方法

margin-top:50%; margin-top:-50%; margin-top的百分数是根据父元素的width计算的。

父元素 position:relative; 子元素position:absolute;top:0;right:0;bottom:0;left:0 失败,子元素如果不设置width和height就会直接继承到父元素的width和height,而不是通过内容撑开的宽度和高度。

父元素position:relative;子元素position:absolute:top:50%; 子元素里面加一层div设置position:absolute;top:-50%;top百分比里是根据父元素设定,子元素absolute,父元素继承不到高度。

父元素position:relative;子元素position:absolute:top:50%; 子元素里面加一层div设置position:relative;top:-50%;

这个最接近正确的答案,但是还是是错误的,在chrome的盒子模型里面已经显示出了relative的偏移量,但是渲染的时候并没有被渲染出来,top-50%;无效果。

  • 写回答

1条回答

  • Go 旅城通票 2016-09-07 09:37
    关注

    不考虑ie可以用盒式模型。考虑ie只能js计算了

    <style>
    .parent{
    width:600px;
    height:600px;
    display:-webkit-box;
    display:-moz-box;
    -moz-box-align:center;
    -webkit-box-align:center;
    -moz-box-pack:center;
    -webkit-box-pack:center;
    background:#aaa;}
    </style>
    <div class="parent">
        <!--这个是父元素-->
        <div class="son">
            <!--这个是子元素-->
            <h1 class="title">hello word</h1>
            <div class="content">这里面是一堆元素</div>
        </div>
    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值