Flex移動佈局中單行和雙行佈局的區別以及使用

這裏是單行佈局 使用ul>li  來佈局佈局

 

 

 

 

<ul class="local-nav">
        <li>
            <href="#">
                <span class="local-nav-icon-icon1"></span> 攻略景點
            </a>
        </li>
        <li>
            <href="#">
                <span class="local-nav-icon-icon2"></span> 門票玩樂
            </a>
        </li>
        <li>
            <href="#">
                <span class="local-nav-icon-icon3"></span> 美食林
            </a>
        </li>
        <li>
            <href="#">
                <span class="local-nav-icon-icon4"></span> 周邊遊
            </a>
        </li>
        <li>
            <href="#">
                <span class="local-nav-icon-icon5"></span> 一日遊
            </a>
        </li>
    </ul>

 

CSS樣式以下,因爲比較懶文字直接加在後面,沒有放入標籤中。先定義了總體的flex

 

.local-nav li [class^="local-nav-icon"] 

 

li 中類名中以local-nav-icon開頭的類寫了樣式,後在不一樣的li中換上不一樣的精靈圖。url

 

.local-nav {
    display: flex;
    height: 64px;
    background-color: #fff;
    border-radius: 8px;
    margin: 3px 4px;
}

.local-nav li {
    flex: 1;
}

.local-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 12px;
}

.local-nav li [class^="local-nav-icon"] {
    width: 32px;
    height: 32px;
    margin-top: 8px;
    background: url(../images/localnav_bg.png) no-repeat 0 0;
    background-size: 32px auto;
}

.local-nav li .local-nav-icon-icon2 {
    background-position: 0 -32px;
}

.local-nav li .local-nav-icon-icon3 {
    background-position: 0 -64px;
}

.local-nav li .local-nav-icon-icon4 {
    background-position: 0 -96px;
}

.local-nav li .local-nav-icon-icon5 {
    background-position: 0 -128px;
}

 

在雙行中佈局中,下面給出一個li的寫法,其餘li相同。spa

 

 

 

<ul class="subnav-entry">
        <li>
            <href="#" title="自由行">
                <span class="subnav-entry-icon1"></span>
                <span>自由行</span>
            </a>
        </li>

 

CSS樣式以下code

 

 1 .subnav-entry {
 2     display: flex;
 3     border-radius: 8px;
 4     margin: 0px 4px;
 5     background-color: #fff;
 6     flex-wrap: wrap;
 7 }
 8 
 9 .subnav-entry li {
10     /* flex: 1; */
11     flex: 20%;
12 }

 

這裏是flex20%,既可讓每5個排在一行,設置了換行。每行放不下就會自動換行blog

 

1 .subnav-entry a {
2     display: flex;
3     flex-direction: column;
4     align-items: center;
5 }

 

這裏採用是以y爲主軸,x軸爲側軸對齊的方式。it

 

 1 .subnav-entry [class^="subnav-entry-icon"] {
 2     width: 28px;
 3     height: 28px;
 4     margin-top: 4px;
 5     background: url(../images/subnav-bg.png) no-repeat;
 6     background-size: 28px auto;
 7 }
 8 
 9 .subnav-entry-icon2 {
10     background: url(../images/subnav-bg.png) no-repeat;
11     background-size: 28px auto;
12 }

 

上面的方法是比較容易理解和記憶的方式來作io

相關文章
相關標籤/搜索