作者归档:Rick

CSS3 columns的使用

<!DOCTYPE html>
<html>
<head>
    <title>column attr</title>
    <meta charset="utf-8" />
    <style type="text/css">


        div.col-3 {
            column-count: 3;
            column-gap: 5px;
        }

        div.col-3 h3 {
            column-span: all;
            text-align:center;
            background: #eee;
        }
    </style>
</head>
<body>
<div class="col-3">
    <h3>这是表头</h3>
    CSS3中新出现的多列布局(multi-column)是传统HTML网页中块状布局模式的有力扩充。这种新语法能够让WEB开发人员轻松的让文本呈现多列显示。我们知道,当一行文字太长时,读者读起来就比较费劲,有可能读错行或读串行;人们的视点从文本的一端移到另一端、然后换到下一行的行首,如果眼球移动浮动过大,他们的注意力就会减退,容易读不下去。所以,为了最大效率的使用大屏幕显示器,页面设计中需要限制文本的宽度,让文本按多列呈现,就像报纸上的新闻排版一样。
</div>
</body>
</html>

演示地址
http://xhope.top/samples/html/columns.html

CSS3 box-sizing的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>box-sizing</title>
    <style>
        div {
            width: 200px;
            height: 200px
        }

        #div1 {
            background-color: red;
        }

        #div2 {
            background-color: yellow;
            padding:5px;
            border:5px solid blue;
            box-sizing: border-box; /*这个属性包含了border、padding*/
        }
    </style>
</head>
<body>
    <div id="div1">content</div>
    <div id="div2">content</div>
</body>
</html>

演示地址
http://xhope.top/samples/html/box-sizing.html

CSS3 media_query的使用

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
    body {
        background-color: grey;
    }
    @media screen and (max-width: 960px) {
        body {
            background-color: red;
        }
    }
    @media screen and (max-width: 768px) {
        body {
            background-color: orange;
        }
    }
    @media screen and (max-width: 550px) {
        body {
            background-color: yellow;
        }
    }
    @media screen and (max-width: 320px) {
        body {
            background-color: green;
        }
    }

    </style>
</head>
<body>
    <div style="height: 500px;"></div>
</body>
</html>

演示地址
http://xhope.top/samples/html/media_query.html

CSS3 flex使用

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Web的Flex弹性盒模型</title>
<style>
    body{
        font-family: '微软雅黑';
        /*font-family: cursive, '微软雅黑';*/
        padding: 0;
        margin: 20px 0 40px;

        font-size: 16px;
        background-color: #F9F9F9;
    }
    h1{
        color: #0BF;
        text-indent: 15px;
    }
    h3{
        color: #6D7273;
        text-indent: 15px;
        padding: 10px 0;
        background-color: #fff;
    }
    p{
        margin: 0;
        padding: 0;
        color: #666;
        margin-bottom: 5px;
    }

    .boxes{
        padding: 0 10px;
        overflow: hidden;
        display: -webkit-flex;
        flex-wrap: wrap;
        align-content:flex-start
    }
    .box{
        width: 400px;
        padding: 8px;
        margin-right: 20px;
        margin-bottom: 10px;
        display: inline-block;
        box-shadow: 2px 2px 3px 1px #E0E0E0;
    }

    .boxstyle{
        padding: 8px 0;
    }
    .boxborder{
        border: 1px dashed #B6B6B6;
    }
    .demo{
        color: #fff;
        display: -webkit-flex;
        text-align: center;
    }
    .demo .item{
        line-height: 40px;
        background-color: #ddd;
    }
    .demo .item:nth-child(1){
        background-color: #E46C49;
    }
    .demo .item:nth-child(2){
        background-color: #37B0D3;
    }
    .demo .item:nth-child(3){
        background-color: #68B33D;
    }
    .demo .item:nth-child(4){
        background-color: #E46775;
    }
    .demo .item:nth-child(5){
        background-color: #CFC731;
    }
    .demo .item:nth-child(6){
        background-color: #8370F4;
    }

    .demo .item span{
        display: block;
    }

    .demo2 .item{
        height: 60px;
        width: 150px;
        word-wrap: break-word;
        line-height: 1.5;
    }

    .demo-row{
        flex-direction: row;
    }
    .demo-row-reverse{
        flex-direction: row-reverse;
    }
    .demo-column{
        height: 200px;
        flex-direction: column;
    }
    .demo-column-reverse{
        height: 200px;
        flex-direction: column-reverse;
    }

    .demo-nowrap{
        -webkit-flex-wrap: nowrap;
        width: 400px;
    }
    .demo-wrap{
        -webkit-flex-wrap: wrap;
        width: 400px;
    }
    .demo-wrap-reverse{
        -webkit-flex-wrap: wrap-reverse;
        width: 400px;
    }
    .demo-align-content{
        width: 400px;
        flex-wrap: wrap;
        height:200px;
        border: 1px dashed #B6B6B6;
    }
    .demo-align-content .item:nth-child(1), .demo-align-content .item:nth-child(2), .demo-align-content .item:nth-child(3),
    .demo-align-content .item:nth-child(4), .demo-align-content .item:nth-child(5), .demo-align-content .item:nth-child(6){
        background-color: #717171;
        width: 80px;
        margin: 2px 10px;
    }

</style>
</head>
<body>
    <h1>Web的Flex弹性盒模型</h1>
    <section class="content">

        <h3>[ flex ]</h3>
        <div class="boxes">
            <div class="box">
                <div class="boxstyle">
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo1">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="flex:2">flex: 2;</div>
                    <div class="item" style="flex:1">flex: 1;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>display: -webkit-flex; </p>
                </div>
                <div class="demo demo2 boxborder">
                    <div class="item" style="margin-right:10px;">
                        <span>width:150px;</span> <span>margin-right:10px;</span></div>
                    <div class="item" style="flex:1">flex: 1;</div>
                    <div class="item" style="margin-left:10px;">
                        <span>width:150px;</span> <span>margin-left:10px;</span></div>
                </div>
            </div>
        </div>

        <h3>[ flex-direction ]</h3>
        <div class="boxes" style="width:900px">
            <div class="box">
                <div class="boxstyle">
                    <p>flex-direction: row; /*default*/</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-row">
                    <div class="item" style="flex:1">flex: 1;</div>
                    <div class="item" style="flex:2">flex: 2;</div>
                    <div class="item" style="flex:3">flex: 3;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>flex-direction: row-reverse;</p>
                    <p>display: -webkit-flex; </p>
                </div>
                <div class="demo demo-row-reverse">
                    <div class="item" style="flex:1">flex: 1;</div>
                    <div class="item" style="flex:2">flex: 2;</div>
                    <div class="item" style="flex:3">flex: 3;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>flex-direction: column;</p>
                    <p>display: -webkit-flex; </p>
                </div>
                <div class="demo demo-column">
                    <div class="item" style="flex:1">flex: 1;</div>
                    <div class="item" style="flex:2">flex: 2;</div>
                    <div class="item" style="flex:3">flex: 3;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>flex-direction: column-reverse;</p>
                    <p>display: -webkit-flex; </p>
                </div>
                <div class="demo demo-column-reverse">
                    <div class="item" style="flex:1">flex: 1;</div>
                    <div class="item" style="flex:2">flex: 2;</div>
                    <div class="item" style="flex:3">flex: 3;</div>
                </div>
            </div>
        </div>

        <h3>[ flex-wrap ]</h3>
        <div class="boxes" style="width:1310px">
            <div class="box">
                <div class="boxstyle">
                    <p>-webkit-flex-wrap: nowrap; /* default */</p>
                    <p>display: -webkit-flex; </p>
                    <p>width: 400px</p>
                </div>
                <div class="demo demo-nowrap">
                    <div class="item" style="width: 100px">100px;</div>
                    <div class="item" style="width: 200px">width: 200px;</div>
                    <div class="item" style="width: 300px">width: 300px;</div>
                </div>
            </div>
            <div class="box">
                <div class="boxstyle">
                    <p>-webkit-flex-wrap: wrap</p>
                    <p>display: -webkit-flex; </p>
                    <p>width: 400px</p>
                </div>
                <div class="demo demo-wrap boxborder">
                    <div class="item" style="width: 100px">100px;</div>
                    <div class="item" style="width: 200px">width: 200px;</div>
                    <div class="item" style="width: 300px">width: 300px;</div>
                </div>
            </div>
            <div class="box">
                <div class="boxstyle">
                    <p>-webkit-flex-wrap: wrap-reverse</p>
                    <p>display: -webkit-flex; </p>
                    <p>width: 400px</p>
                </div>
                <div class="demo demo-wrap-reverse boxborder">
                    <div class="item" style="width: 100px">100px;</div>
                    <div class="item" style="width: 200px">width: 200px;</div>
                    <div class="item" style="width: 300px">width: 300px;</div>
                </div>
            </div>  
        </div>

        <h3>[ flex-flow ]: flex-direction flex-wrap; /* 自个体会吧 */</h3>

        <h3>[ justify-content ]</h3>
        <div class="boxes" style="width:1310px;">
            <div class="box">
                <div class="boxstyle">
                    <p>/* 效果如同 float:left; */</p>
                    <p>justify-content: flex-start; /* default */</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="justify-content: flex-start;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p><p>/* 效果如同 float:right; */</p></p>
                    <p>justify-content: flex-end;</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-justify boxborder"  style="justify-content: flex-end;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>/* 第三代水平居中方案 */</p>
                    <p>justify-content: center;</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-justify-end boxborder" style="justify-content: center;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>justify-content: space-between; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-justify boxborder" style="justify-content: space-between;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>justify-content: space-around; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-justify-end boxborder" style="justify-content: space-around;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>
        </div>

        <h3>[ align-self ]</h3>
        <div class="boxes">
            <div class="box" style="width:1000px;">
                <div class="boxstyle">
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="width: 1000px; height:200px;">
                    <div class="item" style="width:200px; align-self:flex-start;">align-self:flex-start;</div>
                    <div class="item" style="width:200px; align-self:flex-end;">align-self:flex-end;</div>
                    <div class="item" style="width:200px; align-self:center;">align-self:center;</div>
                    <div class="item" style="width:200px; align-self:auto;">
                        <span>align-self:auto;</span>
                        <span>/*default */</span>
                    </div>

                    <div class="item" style="width:200px; align-self:baseline;">align-self:baseline;</div>
                    <div class="item" style="width:200px; align-self:stretch;">align-self:stretch;</div>
                </div>
            </div>
        </div>

        <h3>[ align-items ]</h3>
        <div class="boxes">
            <div class="box">
                <div class="boxstyle">
                    <p>align-items: flex-start; /* default */</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="align-items: flex-start;height:200px;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>align-items: flex-end; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="align-items: flex-end;height:200px;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>/* 第三代垂直居中 */</p>
                    <p>align-items: center; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="align-items: center;height:200px;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>align-items: baseline; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="align-items: baseline;height:200px;">
                    <div class="item" style="width:100px">width:100px;</div>
                    <div class="item" style="width:100px">width:100px;</div>
                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>align-items: stretch; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo boxborder" style="align-items: stretch;height:200px;">
                    <div class="item" style="width:100px; height:100px;">height:100px;</div>
                    <div class="item" style="width:150px; min-height:20px;">min-height:20px;</div>
                    <div class="item" style="width:150px; max-height:60px;">max-height:60px;</div>
                </div>
            </div>
        </div>


        <h3>[ align-content ]</h3>
        <div class="boxes">
            <div class="box">
                <div class="boxstyle">
                    <p>/* <span style="color:red"> 对比 align-items</span>*/</p>
                    <p>align-items: flex-start</p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-items: flex-start">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>align-content: flex-start; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: flex-start;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>

            <div class="box">
                <div class="boxstyle">
                    <p>align-content: flex-end; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: flex-end;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>
            <div class="box">
                <div class="boxstyle">
                    <p>align-content: center; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: center;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>
            <div class="box">
                <div class="boxstyle">
                    <p>align-content: space-between; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: space-between;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>
                </div>
            </div>
            <div class="box">
                <div class="boxstyle">
                    <p>align-content: space-around; </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: space-around;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>      

            <div class="box">
                <div class="boxstyle">
                    <p>align-content: stretch; /*default*/ </p>
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="align-content: stretch;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" >d</div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>

                </div>
            </div>  

        </div>  

        <h3>[ order ]</h3>
        <div class="boxes">
            <div class="box" style="width:1000px;">
                <div class="boxstyle">
                    <p>display: -webkit-flex;</p>
                </div>
                <div class="demo demo-align-content" style="width: 1000px;height:40px;">
                    <div class="item" >a</div>
                    <div class="item" >b</div>
                    <div class="item" >c</div>
                    <div class="item" style="order:-1; width:120px"> d (order:-1) </div>
                    <div class="item" >e</div>
                    <div class="item" >f</div>
                </div>
            </div>
        </div>

    </section>


</body>
</html>

演示地址
http://xhope.top/samples/html/flex.html

build.xml模板

<?xml version="1.0" ?> 
<project name="AntExample1" default="war">

    <path id="compile.classpath">
        <fileset dir="WebContent/WEB-INF/lib">
            <include name="*.jar"/>
        </fileset>
        <fileset dir="D:\develop\jboss-eap-6.2\modules\system\layers\base">  
            <include name="**/*.jar"/>  
        </fileset>  
    </path>

    <target name="init">
        <mkdir dir="build/classes"/>
        <!--拷贝非java文件-->
        <copy includeemptydirs="false" todir="build/classes">
            <fileset dir="src">
                <exclude name="**/*.java"/>
            </fileset>
        </copy>

        <mkdir dir="dist" />
    </target>

    <target name="compile" depends="init" >
        <javac destdir="build/classes" debug="true" encoding="UTF-8">
            <classpath refid="compile.classpath"/>
            <src path="src"/>
        </javac>
    </target>

    <target name="war" depends="compile">
        <war destfile="dist/SpaceMgt_HK.war" webxml="WebContent/WEB-INF/web.xml">
            <fileset dir="WebContent"/>
            <!--<lib dir="WebContent/WEB-INF/lib"/>-->
            <classes dir="build/classes"/>
        </war>
    </target>

    <target name="clean">
        <delete dir="dist" />
        <delete dir="build" />
    </target>

</project>