CSS3控制元素排列

需求:

改变为

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AB换位置</title>
    <style>
    * {
        margin: 0;
        padding: 0;
    }
    .box {
        width: 400px;
        height: 500px;
        margin: 50px auto;
        border: 1px solid #999;
        line-height: 200px;
        font-size: 60px;
        color: #fff;
        text-align: center;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-box-align: center;
        -webkit-box-pack: center;
        /*-webkit-box-direction: normal;*/
        -webkit-box-direction: reverse;
    }
    .a {
        width: 200px;
        height: 200px;
        background: red;
    }
    .b {
        width: 200px;
        height: 200px;
        background: green;
    }
    </style>
</head>
<body>
    <div class="box">
        <div class="a">aaa</div>
        <div class="b">bbb</div>
    </div>
</body>
</html>

解释:

1. display: -webkit-box; CSS3新盒模型,与display:flex;相似,具体请见。。。。

2. -webkit-box-orient: vertical; 子元素排列方向:纵向(vertical),还有横向(horizontal,默认方向)。

3. -webkit-box-align: center; 子元素横向排列方式:居中排列(center),还有靠左(start)、靠右(end)、靠基线(baseline)。

4. -webkit-box-pack: center; 子元素纵向排列方式:居中排列(center),还有靠上(start)、靠下(end)。

5. -webkit-box-direction: reverse; 子元素排列顺序:倒序排列(reverse),还有正常(normal,默认顺序)。

收获:

通过一些CSS2的巧妙运用,也可以达到反序的效果,但只限两个元素,如果元素个数大于2,再用CSS2反序,想死的心都有了。

不过CSS3这个direction还是很方便的,虽说有兼容问题,单相信在不久的将来,CSS3就会变得更加常用和重要。

毕竟,“简单,强大”才是主线。

CSS3控制元素排列

时间: 2024-10-05 01:49:57

CSS3控制元素排列的相关文章

css3控制元素旋转

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> img { border: #000 solid 5px; display: block; margin: 50px auto; border-radius: 50%; border-top-color:#fff; border-right-color

使用CSS3动画 animation 来控制元素的显示和隐藏

CSS3中 animation 和 transition 俩样式都能创建动画效果,而且是后台C++执行的,所以效率比普通jQuery的js模拟动画的效率高很多,所以建议大家能用css实现的效果都用css. transition的使用比较简单,这里就不介绍了,着重为大家介绍下 animation . animation 的css属性有很多,本文通过 animation-name 来控制启动动画和转换动画,以下是一个通过 animation 来控制元素的显示和隐藏的例子(仅支持webkit): <!

3种纯css方法控制元素隐藏显示

1.通过hover,也是最常用的方式.此方法要求按钮与被控制元素必须有层级关系.(兼容低端浏览器常用) <div class="nav-btn"> <h2>按钮</h2> <ul class="nav-box"> <li><a href="#">菜单1</a></li> <li><a href="#">菜单2

CSS控制元素背景透明度总结

方法一:CSS3的background rgba filter:progid:DXImageTransform.Microsoft.gradient(enabled='true',startColorstr='#7F000000',endColorstr='#7F000000');background:rgba(0,0,0,0.5); 常用的方法是rgba来实现背景透明度 兼容ie6 ie7 ie8的做法是用ie的滤镜实现 有个小问题就是通过这种方法实现背景透明度的话在ie系列下如果元素需要绑定

CSS3 -webkit-transform(元素变换)

CSS3 -webkit-transform(元素变换) -webkit-transform:none | 类型 类型:scale:缩放,1为原始大小.scale(x).正数放大,负数缩小.属性值为一个时,x/y轴同时缩放:属性值为两个值时,分别控制x.y轴的缩放. rotate:水平旋转,属性值格式为Xdeg.(deg是“度”的意思)rotate(Xdeg).X为正数时,顺时针旋转:为负数时,逆时针旋转 translate:平移,基于XY轴重新定位元素.translate(Xpx,Ypx).属

css3控制多重动画效果

今天看到一个类似于门窗开关效果.想着用css3实现,当然js是可以必须能够实现的.我主要想体验一把css3的神奇. 0102 01图片缩小,缩小到看不到之后,出现02图片放大的效果. 实现原理:用一个外层div来触发hover效果,里面套两个图片div, 分别为图一和图二 主要使用css3的transform和transition效果,而且比较重点的是transition-delay延时属性. 具体代码 html-------------------------- <div id="out

CSS3:元素的边框、背景和大小

边框 和边框相关的属性如下. border-width 用于设置边框的宽度,可选择包括: 1)<长度值>:将边框宽度设为以CSS度量单位(如em.px.cm)表达的长度值: 2)<百分数>:将边框宽度值设为边框绘制区域的宽度的百分数: 3)thin.medium和thick:将边框宽度设为预设宽度,这三个值的具体意义是由浏览器定义,三个值代表的宽度一次增大,边框宽度的默认值是medium. border-style 用于设置绘制边框使用的样式,可以是下列值的任意一个. 1)none

面试题:一个整型数组中各元素排列组合得到的最大的一个数 ,比如,1,3,9,11,23,233,911 要得到:9,911,3,233,23,11,1

package com.alibaba.interview; import java.util.Random; /** * @Author: weblee * @Email: [email protected] * @Blog: http://www.cnblogs.com/lkzf/ * @Time: 2014年10月25日下午2:58:39 * ************* function description *************** *一个整型数组中各元素排列组合得到的最大的一个

css3实现元素水平垂直居中

css3实现元素水平垂直居中,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http