成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

重溫 Flex 布局

binta / 1528人閱讀

摘要:而通過(guò)實(shí)現(xiàn)則簡(jiǎn)單多了源碼原因解釋中間一欄為核心,所以需要優(yōu)先渲染,結(jié)構(gòu)也就放在了前面,主要是使用屬性將放置到前方。源碼的列數(shù)每列的個(gè)數(shù)函數(shù)原因解釋實(shí)現(xiàn)瀑布流還是比較簡(jiǎn)單的。

介紹

這是關(guān)于 Flex 布局的實(shí)踐,原想還水一點(diǎn)字?jǐn)?shù)來(lái)介紹 Flex 相關(guān)屬性,想想還是算了,阮一峰大佬的兩篇文章推上:

Flex 布局教程:語(yǔ)法篇

Flex 布局教程:實(shí)例篇

如何用 CSS 來(lái)增進(jìn)對(duì) Flex 的理解:

CSS 搞事技巧:checkbox+label+selector

CSS 搞事技巧:hover+active

常規(guī)布局 1. 兩欄布局

左側(cè)定寬,右側(cè)自適應(yīng):

源碼


  
left
right
.flex-layout
  display flex
.flex__item
  &:nth-child(1)
    background-color #c04851 // 玉紅
    flex 0 0 200px
  &:nth-child(2)
    background-color #440e25 // 古銅紫
    flex 1 1 auto 

原因解釋:

flex 是一個(gè)簡(jiǎn)寫(xiě)屬性,用來(lái)設(shè)置 flex-grow、flex-shrink、flex-basis。一般來(lái)說(shuō)讓元素等高需要額外設(shè)置,而 flex 容器的存在一個(gè)默認(rèn)屬性值:align-items:stretch,它會(huì)幫助你,當(dāng)然也會(huì)給你帶來(lái)糟糕的體驗(yàn)。

2. 三欄布局

圣杯布局與雙飛翼布局都是三欄布局,稍微介紹一下:圣杯布局關(guān)鍵是父元素設(shè)置 padding,接著子元素通過(guò) margin 負(fù)值以及定位;雙飛翼布局關(guān)鍵是中間一欄多了子元素并設(shè)置 margin,然后側(cè)邊欄使用 margin 負(fù)值。而通過(guò) flex 實(shí)現(xiàn)則簡(jiǎn)單多了:

源碼


  
content
nav
side
.holy-grail
  display flex
  .flex__content
    flex 1 1 auto
    background-color #009999
  .flex__nav, .flex__side
    flex 0 0 120px
  .flex__nav
    order -1
    background-color #1D7373
  .flex__side
    background-color #33CCCC

原因解釋:

中間一欄為核心,所以需要優(yōu)先渲染,DOM 結(jié)構(gòu)也就放在了前面,主要是使用 order 屬性將 nav 放置到前方。

常見(jiàn)布局

除了整體結(jié)構(gòu)用到這些布局以外,對(duì)于一些組件也常常需要一些簡(jiǎn)單的布局。

1. 導(dǎo)航欄

模仿示例:

實(shí)現(xiàn)效果圖:

源碼

Title
.header
  height 100px
  width 100%
  background-color #f9f1db // 蚌肉白
  display flex
  align-items center
  > *
    margin 0 10px
  &__avatar, &__more
    flex 0 0 80px
    height 80px
    border-radius 50%
  &__avatar
    background-color #FFAC40
  &__title
    color #FF9000
  &__more
    margin-left auto
    background-color #A65E00

原因解釋:

此處主要是利用了 margin-auto 來(lái)占據(jù)剩余的空間,就與我們使用 margin: 0 auto 來(lái)獲取水平居中一樣。

2. 輸入框

模仿示例:

實(shí)現(xiàn)效果圖:

源碼


  
Message
.input-group
  flex 0 0 75%
  height 40px
  border 2px solid red
  border-radius 4px
  display flex
  align-items center
  > *
    box-sizing border-box
  .input-text
    font-size 20px
    padding-left 10px
    height 100%
    flex 1
    outline none 
    border none 
  .icon
    flex 0 0 24px
    height 24px
    border-radius 50%
    background-color #648e93 // 晚波藍(lán)

原因解釋:

這也是一個(gè)常規(guī)的三欄布局,關(guān)鍵是 .input-textflex: 1 屬性可以占據(jù)剩余空間,當(dāng)其余配件不存在時(shí)也可以相應(yīng)的擴(kuò)張。

3. 卡片

實(shí)現(xiàn)效果圖:

源碼


  
1
2
3
4
5
6
.flex-card
  display flex
  flex-flow column nowrap
  .header
    flex-basis 80px
    background-color #4E51D8
  .footer
    flex-basis 50px
    background-color #00B060
  .article
    flex auto 
    background-color #FF9000
    display flex
    flex-flow row wrap
    align-content center
    justify-content space-around
    &__item
      width 28%
      height 50px
      box-shadow 0 2px 4px rgba(255, 255, 255, .4), 3px 0 5px rgba(0, 0, 0, .6)

原因解釋:

將主軸修改為垂直方向,headerfooter 因?yàn)?articleflex:auto 屬性被分別頂至上方和下方,可以避免 absolute 的濫用。在中間使用 align-content 區(qū)別于 align-items ,可以將多行元素視為一個(gè)整體。

4. 瀑布流

實(shí)體效果:

在編譯時(shí)會(huì)賦予 CSS 顏色,所以直接刷新頁(yè)面是不可行的,只有重新保存代碼進(jìn)行編譯可以變更顏色。

源碼


  
$flow-columns = 5; // flow 的列數(shù)
$flow-items = 8; // flow 每列的個(gè)數(shù)

// 函數(shù)
randomColor(min, max) {
  return floor(math(0, "random") * (max - min + 1) + min);
}

randomPx(min, max) {
  return floor(math(0, "random") * (max - min + 1) + min) px;
}

.flex-flow {
  display: flex;
  justify-content: space-between;
  overflow: hidden;

  .flow-column {
    display: flex;
    flex-direction: column;
    flex: 0 0 18.6%;

    .flow-item {
      width: 100%;
      margin: .1rem 0;
    }
  }
}

for column in (1 .. $flow-columns) {
  .flow-column:nth-child({column}) {

    for item in (1 .. $flow-items) {
      .flow-item:nth-child({item}) {
        flex: 0 0 randomPx(30, 100);
        background-color: rgb(
          randomColor(0, 255),
          randomColor(0, 255),
          randomColor(0, 255)
        );
      }
    }
  }
}

原因解釋:

flex 實(shí)現(xiàn)瀑布流還是比較簡(jiǎn)單的。友情提示:當(dāng)使用 stylus 時(shí)還是加上標(biāo)點(diǎn)符號(hào)吧,找編譯錯(cuò)誤花了我近二十分鐘。

最后 合并多個(gè) commit

在 push 前需要合并 commit:

git log --oneline
git rebase -i xxxxxxx
git log --oneline
git status 
git push

初步地把 CSS 稍微過(guò)了一遍,下一步繼續(xù)完善那個(gè)簡(jiǎn)陋的 簡(jiǎn)歷 了…

參考資料

VSCode 的友情提示

Vuetify

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/116058.html

相關(guān)文章

  • CSS 搞事技巧:checkbox+label+selector

    摘要:列出這個(gè)兩個(gè)屬性的常用值看可知已經(jīng)增加了更多的值代碼解讀該項(xiàng)目是通過(guò)來(lái)渲染的,所以會(huì)使用到的語(yǔ)法,不過(guò)此處僅使用的循環(huán)來(lái)解決重復(fù)書(shū)寫(xiě)的問(wèn)題該效果參考來(lái)源。接著使用布局來(lái)將它們分割,因?yàn)檫@次主要將的不是,所以就不進(jìn)行闡述了。 介紹 其實(shí)這篇文章寫(xiě)到一大半時(shí)它的名字還叫做 《重溫 Flex 布局》,結(jié)果寫(xiě)著寫(xiě)著就走了心,附上一圖表示心情吧: showImg(https://segmentf...

    alphahans 評(píng)論0 收藏0
  • 重溫"什么是響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)?響應(yīng)式布局的實(shí)現(xiàn)原理"

    摘要:概念響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)最初是由提出的一個(gè)概念為什么一定要為每個(gè)用戶群各自打造一套設(shè)計(jì)和開(kāi)發(fā)方案設(shè)計(jì)應(yīng)該做到根據(jù)不同設(shè)備環(huán)境自動(dòng)響應(yīng)及調(diào)整。預(yù)計(jì)到年,移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)流量將超越端的流量。 概念 響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)最初是由 Ethan Marcotte 提出的一個(gè)概念:為什么一定要為每個(gè)用戶群各自打造一套設(shè)計(jì)和開(kāi)發(fā)方案?Web設(shè)計(jì)應(yīng)該做到根據(jù)不同設(shè)備環(huán)境自動(dòng)響應(yīng)及調(diào)整。當(dāng)然響應(yīng)式Web設(shè)計(jì)不僅僅是...

    Nekron 評(píng)論0 收藏0
  • 重溫"什么是響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)?響應(yīng)式布局的實(shí)現(xiàn)原理"

    摘要:概念響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)最初是由提出的一個(gè)概念為什么一定要為每個(gè)用戶群各自打造一套設(shè)計(jì)和開(kāi)發(fā)方案設(shè)計(jì)應(yīng)該做到根據(jù)不同設(shè)備環(huán)境自動(dòng)響應(yīng)及調(diào)整。預(yù)計(jì)到年,移動(dòng)互聯(lián)網(wǎng)的數(shù)據(jù)流量將超越端的流量。 概念 響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)最初是由 Ethan Marcotte 提出的一個(gè)概念:為什么一定要為每個(gè)用戶群各自打造一套設(shè)計(jì)和開(kāi)發(fā)方案?Web設(shè)計(jì)應(yīng)該做到根據(jù)不同設(shè)備環(huán)境自動(dòng)響應(yīng)及調(diào)整。當(dāng)然響應(yīng)式Web設(shè)計(jì)不僅僅是...

    Joyven 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<