CSS3實現文本垂直排列

來源:互聯網
上載者:User
這篇文章主要介紹了關於CSS3實現文本垂直排列,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

最近的一個項目中要使文字垂直排列,也就是運用了CSS的writing-mode屬性。

writing-mode最初時ie中支援的一個屬性,後來在CSS3中增添了這一新的屬性,所以在ie中和其他瀏覽器中的文法會有區別。

1.0 CSS3標準

writing-mode:horizontal-tb;//預設:水平方向,從上到下 writing-mode:vertical-rl;  //垂直方向,從右向左writing-mode:vertical-lr;  //垂直方向,從左向右
<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>CSS文字垂直排列</title>        <style type="text/css">            div{                border: 1px solid lightblue;                padding: 5px;            }            .vertical-text{                -webkit-writing-mode: vertical-rl;                writing-mode: vertical-rl;            }        </style>    </head>    <body>        <div class="vertical-text">            1. 文字垂直排列 <br />            2. 文字垂直排列        </div>    </body></html>

2.0 IE中

由於曆史的原因,IE下該屬性值則顯得尤為複雜:

-ms-writing-mode: lr-tb | rl-tb | tb-rl | bt-rl | tb-lr | bt-lr | lr-bt | rl-bt | lr | rl | tb

具體可以查看官方文檔:

https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode/

3.0 一些應用

3.1 垂直置中  

通過對這個屬性的使用,我們可以結合 text-align:center 實現垂直置中或者使用margin: auto。

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>CSS3 圖片垂直置中</title>        <style type="text/css">            div{                border: 1px solid lightblue;                padding: 5px;                height: 500px;            }            .vertical-img{                -webkit-writing-mode: vertical-rl;                -ms-writing-mode: bt-rl;                writing-mode: vertical-rl;                text-align: center;            }        </style>    </head>    <body>        <div class="vertical-img">             <img src="1.jpg"/>        </div>    </body></html>

3.2 文字下沉效果

我們可以設定文字的writing-mode,然後在結合text-indent來實現文字點擊時的下沉效果;

<!DOCTYPE html> 2 <html>    <head>        <meta charset="utf-8">        <title>文字下沉效果</title>        <style type="text/css">            .btn{                width: 50px;                height: 50px;                line-height: 50px;                color: white;                text-align: center;                font-size: 16px;;                display: inline-block;                border-radius: 50%;                background: gray;                cursor: pointer;            }            .btn:active{                text-indent: 2px;            }            .vertical-text{                 writing-mode: tb-rl;                -webkit-writing-mode: vertical-rl;                      writing-mode: vertical-rl;                *writing-mode: tb-rl;            }        </style>    </head>    <body>        <span>點擊領紅包</span>        <p class="vertical-text btn">開 </p>    </body></html>

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.