模擬公交站臺豎直排列,兩端對齊

今天看到一個公家車站臺的公家站牌,對站名的排列方式頗有興趣,html和css沒有提供文字豎直排列的簡便方法,須要咱們利用一些技巧才能完成css

 

 大概要的效果就是這樣的,豎直排列,兩端對齊html

首先先對豎直排列進行設計web

先上html代碼:flex

 1     <ul>
 2         <li><b>站牌1</b></li>
 3         <li><b>站牌2</b></li>
 4         <li><b>長站牌3</b></li>
 5         <li><b>很長的站牌4</b></li>
 6         <li><b>超長的站牌5</b></li>
 7         <li><b>站牌6</b></li>
 8         <li><b>站牌一二7</b></li>
 9         <li><b>站牌一8</b></li>
10         <li><b>站牌9</b></li>
11         <li><b>站牌一二10</b></li>
12         <li><b>站牌1</b></li>
13         <li><b>站牌2</b></li>
14         <li><b>長站牌3</b></li>
15         <li><b>很長的站牌4</b></li>
16         <li><b>超長的站牌5</b></li>
17     </ul>

先對ul進行一些基本的配置:spa

1 ul {
2     width: 260px;
3     height: 90px;
4     border: 1px solid yellow;
5     margin: 15px;
6     list-style: none;
7 }

初步的效果是:設計

利用flex伸縮盒來實現效果:3d

ul {
    width: 260px;
    height: 90px;
    border: 1px solid yellow;
    margin: 15px;
    list-style: none;
    /*定義flex伸縮盒*/
    display: -webkit-flex;
    display: flex;
    /*設置伸縮盒的子元素向兩端對齊*/
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
}

ul li {
    font-size: 11px;
    /*固定寬度使文字強制換行豎直排列*/
    width: 12px;
    text-align: center;
    height: 80px;
    margin-top: 5px;
}

豎直排列的效果:code

 

接下來是豎直方向的兩端對齊,我使用的方法是給每個元素加上一個標籤,在li裏面再定義一個flex盒子,以達到效果,我的感受有點麻煩:htm

html代碼:blog

<ul>
        <li><span></span><span></span><span>1</span></li>
        <li><span></span><span></span><span>2</span></li>
        <li><span></span><span></span><span></span><span>3</span></li>
        <li><span></span><span></span><span></span><span></span><span></span><span>4</span></li>
        <li><span></span><span></span><span></span><span></span><span></span><span>5</span></li>
        <li><span></span><span></span><span>6</span></li>
        <li><span></span><span></span><span></span><span></span><span>7</span></li>
        <li><span></span><span></span><span></span><span>8</span></li>
        <li><span></span><span></span><span>9</span></li>
        <li><span></span><span></span><span></span><span></span><span>10</span></li>
    </ul>

css代碼:

ul {
    width: 260px;
    height: 90px;
    border: 1px solid yellow;
    margin: 15px;
    list-style: none;
    /*定義flex伸縮盒*/
    display: -webkit-flex;
    display: flex;
    /*設置伸縮盒的子元素向兩端對齊*/
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
}

ul li {
    font-size: 11px;
    /*固定寬度使文字強制換行豎直排列*/
    width: 12px;
    text-align: center;
    height: 80px;
    margin-top: 5px;
    /*定義li的flex伸縮盒*/
    display: -webkit-flex;
    display: flex;
    /*設置伸縮盒的子元素向兩端對齊*/
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    /*設置子元素的排列方向是豎直方向*/
    flex-direction: column;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    /*即每一個li的子元素span爲豎直方向的兩端對齊*/
}

最終的效果是:

 

主要用到的3句代碼是:

display:flex; 定義flex伸縮盒

justify-content; 設置子元素的對齊方式

flex-direction;設置伸縮盒子元素的方向 

相關文章
相關標籤/搜索