移动端利用-webkit-box水平垂直居中

首先,必须要在父元素上用display:-webkit-box.

一、box的属性:

1.box-orient 用于父元素,用来确定父容器里子容器的排列方式,是水平还是垂直。

horizontal在水平行中从左向右排列子元素;vertical从上向下垂直排列子元素。

horizontal:    vertical:

<!DOCTYPE html><html lang="en">
<head>
    <meta charset="UTF-8">
    <title>webkit-box</title>
    <style>
        .father{
            display: -webkit-box;
            -webkit-box-orient:horizontal;
            background-color: #f4f4f4;
            height: 800px;
        }
        /*vertical*/
        .father{
            display: -webkit-box;
            -webkit-box-orient:vertical;
            background-color: #f4f4f4;
            height: 800px;
        }
        .child1{
            background-color: red;
            color: #f4f4f4;
            font-size: 100px;
        }
        .child2{
            background-color: yellow;
            color: green;
            font-size: 200px;
        }
        .child3{
            background-color: blue;
            color: #f4f4f4;
            font-size: 100px;
        }

    </style>
</head>
<body>
<div class="father">
    <div class="child1">1</div>
    <div class="child2">2</div>
    <div class="child3">3</div>
</div>
</body>
</html>

2.box-pack 用于父元素,用来确定父容器里子容器的水平对齐方式。

start水平居左对齐;end水平居右对齐;center水平居中;justify两端对齐。

start:    end:

center:     justify:

.father{
            display: -webkit-box;
            -webkit-box-orient:horizontal;
            -webkit-box-pack: center;
            background-color: #f4f4f4;
            height: 800px;
        }

3.box-align 用于父元素,用来确定父容器里子容器的垂直对齐方式。

start居顶对齐;end居底对齐;center垂直居中;stretch拉伸到与父容器等高。

start:    end:

center:    stretch:

.father{
            display: -webkit-box;
            -webkit-box-orient:horizontal;
            -webkit-box-align: stretch;
            background-color: #f4f4f4;
            height: 800px;
        }

4.box-flex 用于子元素,用来让子容器针对父容器的宽度按一定规则进行划分。

.father{
            display: -webkit-box;
            -webkit-box-orient:horizontal;
            -webkit-box-align: stretch;
            background-color: #f4f4f4;
            height: 800px;
        }
        .child1{
            background-color: red;
            color: #f4f4f4;
            font-size: 100px;
            -webkit-box-flex: 1;
        }
        .child2{
            background-color: yellow;
            color: green;
            font-size: 200px;
            -webkit-box-flex: 2;
        }
        .child3{
            background-color: blue;
            color: #f4f4f4;
            font-size: 100px;
            -webkit-box-flex: 3;
        }

二、水平垂直居中

.father{
            display: -webkit-box;
            -webkit-box-orient:horizontal;
            -webkit-box-pack: center;
            -webkit-box-align: center;
            background-color: #f4f4f4;
            height: 800px;
        }
        .child1{
            background-color: red;
            color: #f4f4f4;
            font-size: 100px;
        }
        .child2{
            background-color: yellow;
            color: green;
            font-size: 200px;
        }
        .child3{
            background-color: blue;
            color: #f4f4f4;
            font-size: 100px;
        }
时间: 2025-01-01 06:44:16

移动端利用-webkit-box水平垂直居中的相关文章

未知宽高的div水平垂直居中

未知宽度的div使内容水平垂直居中方法一:使用display:flex:justify-content:center;align-items: center;属性代码如下:<style> #box{ display: flex; justify-content:center; align-items: center; height: 500px; }</style><div id="box"> 水平垂直居中</div>方法二:使用tran

css3水平垂直居中(不知道宽高同样适用)

css水平垂直居中 第一种方法: 在父div里加: display: table-cell; vertical-align: middle; text-align: center; 内部div设置 display: inline-block; 例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="vie

移动端重构图片文字的水平垂直居中

移动端重构的时候,常见图文居中分两种,一种是这样图片跟文字呈上下结构的 这种比较简单,在这里就不详细说了. 今天群里有人问到了另外一种的,类似这样的,图片与文字呈左右结构的,并且图文水平垂直居中 大致意思就是,图片跟文字是左右结构,图片可以根据屏幕大小变化,右边文字有可能一行,有可能多行,都要求在那个方框里面垂直居中.并且图片跟文字整体在方框里面也是水平垂直居中的.甚至那个方框的高都不是固定的. 正好自己前些天也碰到这问题,当时赶项目做得有点粗糙,今天重新写写. 上次那项目做的- -要是万一文字

css中元素水平垂直居中4种方法介绍

table-cell轻松设置文本图片水平垂直居中 让一个元素垂直居中的思路:把这个元素的容器设置为table-cell,也就是具有表格单元格的特性,再使用vertical-align(这个属性对block元素不起作用,但对table-cell元素是有效的)设置元素垂直居中,即可达到我们想要的效果. IE7及以下版本不支持此方法,IE8及以上版本及大部分的主流浏览器都很好的支持. HTML代码  代码如下   <div class="img">    <img src=

元素不定宽在页面上面,水平垂直居中

如果你曾经研究过图片水平垂直居中的方法,那么下面这几个方法你肯定知道 下面介绍的方法主要是利用display:inline-block;让元素变为行内块元素,利用vertical-align:middle来实现垂直居中,利用父元素的text-align:center;实现水平居中. 一.表格方法表格本来对立面的内容是垂直居中的,所以用表格来做很适合.但是它里面的内容是行内元素才行,所以下面的代码就可以实现.<style>*{margin:0px; padding:0px;}table {pos

《转》CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

转自大地Dudy的CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳) 本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE系列只测试了IE9和IE6,以下所说的IE的支持性只是相对于IE9和IE6来说的: 一.元素的水平垂直居中: 第一种方法: <!doctype html> <html lang="en&

水平垂直居中常见解决方案

水平和垂直居中元素的几种常用方法 一.水平居中 1.行内元素 对于行内元素,如果要水平居中,很简单,使用text-align属性即可: text-align:center;  二.块元素 1.定宽块元素水平居中 margin:0 auto; 2.不定宽块元素水平居中 方法一 将要居中的元素放到table的一个td标签中 原因是table不是块元素,它不会占满整行,其宽度是由内容来撑开的,此时可以设置table的 margin:0 auto; 缺点是增加了无语义标签 方法二 改变块元素属性为inl

转载:解读CSS布局之-水平垂直居中(1)

本文转自http://f2e.souche.com/blog/jie-du-cssbu-ju-zhi-shui-ping-chui-zhi-ju-zhong/,以及大地dudy的博客http://www.cnblogs.com/Dudy/p/4085292.html. 对一个元素水平垂直居中,在我们的工作中是会经常遇到的,也是CSS布局中很重要的一部分,本文就来讲讲CSS水平垂直居中的一些方法.由于我们大搜车的日常工作中已经不再需要理会低版本IE,所以本文所贴出的方法,是没有去考虑IE的,如果有

Flexbox制作CSS布局实现水平垂直居中

Flexbox实现一个div元素在body页面中水平垂直居中: <!DOCTYPE html><html lang="en"><head>  <meta charset="utf-8"/>  <title>Flexbox制作CSS布局实现水平垂直居中</title>  <style type="text/css">    html {      height: 1