国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

新手flex布局入門篇,看這篇文章就夠了

Lionad-Morotar / 3508人閱讀

摘要:提綱介紹盒子模型什么是基礎項目實戰視頻源碼鏈接介紹參考文檔什么是層疊樣式表是層疊樣式表的縮寫。布局簡稱,布局是中一種新的布局模式,用于改進傳統模式中標簽對齊方向以及排序等等缺陷。主要用設置在容器里面嚴著主軸的排列方式。

提綱

CSS介紹

盒子模型

什么是flexbox

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

order

flex-grow

flex-shrink

flex-basis

flex

align-self

Flexbox基礎+項目實戰視頻

源碼鏈接

CSS介紹 參考文檔

http://www.css88.com/book/css/

http://www.w3school.com.cn/css3/index.asp

http://www.runoob.com

什么是層疊樣式表

CSS是Cascading Style Sheet(層疊樣式表)的縮寫。是用于(增強)控制網頁樣式并允許將樣式信息與網頁內容分離的一種標記性語言。

樣式語法
Selector {property:value}
如何將樣式表加入您的網頁

你可以用以下三種方式將樣式表加入您的網頁。而最接近目標的樣式定義優先權越高。高優先權樣式將繼承低優先權樣式的未重疊定義但覆蓋重疊的定義。

內聯方式 Inline Styles

內聯定義即是在對象的標記內使用對象的style屬性定義適用其的樣式表屬性。

示例代碼:

這一行的字體顏色將顯示為紅色

內部樣式塊對象 Embedding a Style Block

你可以在你的HTML文檔的標記里插入一個塊對象,再在里面插入如下代碼。

示例代碼:

body {
  background:#fff;
  color:#000;
}
p {
  font-size:14px;
}
外部樣式表 Linking to a Style Sheet

你可以先建立外部樣式表文件*.css,然后使用HTML的link對象。

示例代碼:

Flex布局

網頁布局(layout)是CSS的一個重點應用。

傳統布局

布局的傳統解決方案,基于盒狀模型,依賴 display屬性 + position屬性 + float屬性。

Flexbox 布局


CSS Flexible Box Layout Module 簡稱 Flexbox Layout,Flexbox 布局是CSS3中一種新的布局模式,用于改進傳統模式中標簽對齊、方向、以及排序等等缺陷。

The prime characteristic of the flex container is the ability to modify the width or height of its children to fill the available space in the best possible way on different screen sizes.

最重要的特點是當父視圖因為不同的屏幕而改變自身大小時,父視圖可以動態的改變子視圖的寬和高來盡可能的填充父視圖可用的空間。

許多設計師和開發者發現flexbox布局更容易使用,元素的定位相對于傳統布局只需要使用更少的代碼即可實現,使開發過程更簡單。

最新的flexbox支持的瀏覽器

Chrome 29+

Firefox 28+

Internet Explorer 11+

Opera 17+

Safari 6.1+ (prefixed with -webkit-)

Android 4.4+

iOS 7.1+ (prefixed with -webkit-)

查看瀏覽器支持特性.

flexbox用法

要想使用 flexbox 布局只需要在父標簽設置display屬性即可:

.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
}

如果你希望你的子元素能夠使用flexbox布局,你可以這樣寫:

.flex-container {
  display: -webkit-inline-flex; /* Safari */
  display: inline-flex;
}

Note:這是讓container能夠使用flexbox布局的唯一屬性,它能夠讓所有的子視圖立刻變成flex items。

盒子模型

在我們開始學習flexbox相關屬性之前,我們先介紹一下flexbox model。

類和對象的類比

類:它是抽象的概念,比如divpspaninput等等標簽

對象:對象是具體的東西,比如

,

,, 等等

盒子模型結構 代碼



    
    flexbox-model
    



flexbox-model
效果圖

width和height計算

盒子的寬度 = 效果圖中藍色邊框的寬度

盒子的高度 = 效果圖中藍色邊框的高度

標準的盒子模型結構圖

flex-container和flex-item之間的關系



    
    flexbox-model
    



flex-item
flex-item
flex-item
效果圖解析

下圖中黃色的圖是flex-container,三個白色的正方形是flex-item,flex-containerflex-item的父視圖,我們通常叫容器,flex-itemflex-container的子視圖,我們通常叫做項目,容器中可以有多個項目,一個項目只有一個直接的容器容器里面的多個項目有排列方向,下圖中,三個項目的排列方向是從左到右排列,我們把和排列方向一致的這條線叫做主軸,另外一條線叫做交叉軸.

容器的flexbox屬性

flex-direction

flex-wrap

flex-flow

justify-content

align-items

align-content

項目的flexbox屬性

order

flex-grow

flex-shrink

flex-basis

flex

align-self

flex-direction

CSS flex-direction 屬性指定了內部元素是如何在 flex 容器中布局的,定義了主軸的方向(正方向或反方向)。

請注意,值 row 和 row-reverse 受 flex 容器的方向性的影響。 如果它的 dir 屬性是 ltr,row 表示從左到右定向的水平軸,而 row-reverse 表示從右到左; 如果 dir 屬性是 rtl,row 表示從右到左定向的軸,而 row-reverse 表示從左到右。

row

flex容器的主軸被定義為與文本方向相同。 主軸起點和主軸終點與內容方向相同。

Value
.flex-container {
  -webkit-flex-direction: row; /* Safari */
  flex-direction: row;
}
效果圖

row-reverse

表現和row相同,但是置換了主軸起點和主軸終點

Value
.flex-container {
  -webkit-flex-direction: row-reverse; /* Safari */
  flex-direction: row-reverse;
}
效果圖

column

flex容器的主軸和塊軸相同。主軸起點與主軸終點和書寫模式的前后點相同

Value
.flex-container {
  -webkit-flex-direction: column; /* Safari */
  flex-direction: column;
}
效果圖

column-reverse

表現和column相同,但是置換了主軸起點和主軸終點.

Value
.flex-container {
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction: column-reverse;
}
效果圖

Default value: row

flex-wrap

這個屬性主要是設置container中的items是否會換行。

nowrap Value
.flex-container {
  -webkit-flex-wrap: nowrap; /* Safari */
  flex-wrap: nowrap;
}
效果圖

wrap Value
.flex-container {
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap: wrap;
}
效果圖

wrap-reverse Value
.flex-container {
  -webkit-flex-wrap: wrap-reverse; /* Safari */
  flex-wrap: wrap-reverse;
}
效果圖

Default value: nowrap

flex-flow

flex-flow是flex-direction和flex-wrap的組合。

Values
.flex-container {
  -webkit-flex-flow:  || ; /* Safari */
  flex-flow:          || ;
}
Default value: row nowrap justify-content

justify-content主要用設置flex items容器里面嚴著主軸的排列方式。

flex-start Value
.flex-container {
  -webkit-justify-content: flex-start; /* Safari */
  justify-content: flex-start;
}
效果圖

flex-end Value
.flex-container {
  -webkit-justify-content: flex-end; /* Safari */
  justify-content: flex-end;
}
效果圖

center Value
.flex-container {
  -webkit-justify-content: center; /* Safari */
  justify-content: center;
}
效果圖

space-between Value
.flex-container {
  -webkit-justify-content: space-between; /* Safari */
  justify-content: space-between;
}
效果圖

space-around Value
.flex-container {
  -webkit-justify-content: space-around; /* Safari */
  justify-content: space-around;
}
效果圖

Default value: flex-start

align-items

flex items在主軸上只有一排時,align-items屬性主要用于設置交叉軸flex items的排列方式。

stretch Value
.flex-container {
  -webkit-align-items: stretch; /* Safari */
  align-items: stretch;
}
效果圖

flex-start Value
.flex-container {
  -webkit-align-items: flex-start; /* Safari */
  align-items: flex-start;
}
效果圖

flex-end Value
.flex-container {
  -webkit-align-items: flex-end; /* Safari */
  align-items: flex-end;
}
效果圖

center Value
.flex-container {
  -webkit-align-items: center; /* Safari */
  align-items: center;
}
效果圖

baseline Value
.flex-container {
  -webkit-align-items: baseline; /* Safari */
  align-items: baseline;
}
效果圖

Default value: stretch

align-content

flex items在主軸上有多排(只有一排時此屬性不起作用)時,align-content屬性主要用于設置交叉軸flex items的排列方式。

stretch Value
.flex-container {
  -webkit-align-items: stretch; /* Safari */
  align-items: stretch;
}
效果圖

flex-start Value
.flex-container {
  -webkit-align-items: flex-start; /* Safari */
  align-items: flex-start;
}
效果圖

flex-end Value
.flex-container {
  -webkit-align-items: flex-end; /* Safari */
  align-items: flex-end;
}
效果圖

center Value
.flex-container {
  -webkit-align-items: center; /* Safari */
  align-items: center;
}
效果圖

space-between Value
.flex-container {
  -webkit-align-items: space-between; /* Safari */
  align-items: space-between;
}
效果圖

space-around Value
.flex-container {
  -webkit-align-items: space-around; /* Safari */
  align-items: space-around;
}
效果圖

Default value: stretch

order

order用于改變容器項目的默認的排列順序。

Value
.flex-item {
  -webkit-order: ; /* Safari */
  order: ;
}
效果圖


通過修改flex-item的值可以讓flex items重新按照order值重新排列。

Default value: 0

flex-grow

flex-grow屬性的默認值為0,當它為0時,盡管flex-container剩余很多多余的空間,但是當前的flex-item并不會自動伸縮以填充flex-container多余的空間。

其實我們可以這么總結,flex-grow屬性值決定它相對與其他兄弟視圖自動填充flex-container剩余空間的比例。

Values
.flex-item {
  -webkit-flex-grow: ; /* Safari */
  flex-grow:         ;
}

當所有的itemflex-grow的值相同時,他們所占據的空間相同。

下圖中5個flex-item的比例關系為:1:3:1:1:1

Default value: Default value: 0

flex-shrink

flex-shrink屬性和flex-grow相反,默認值為0,當flex-container空間就算不夠時,也不允許縮小,當flex-shrink的值為非0的正數時,表示當前flex-item相對與其他的兄弟item的縮小比例值。

Value
.flex-item {
  -webkit-flex-shrink: ; /* Safari */
  flex-shrink: ;
}

假設下圖中除了2flex-shrink值為默認值0,其他的都為1,那么當空間不足時,2并不會變小,其它的兄弟視圖等比例縮小。

Default value: 1

flex-basis

制定某一個item在主軸上的大小,或者在主軸上相對于flex-container大小的比例關系。

Value
.flex-item {
  -webkit-flex-basis: auto | ; /* Safari */
  flex-basis:         auto | ;
}
效果圖

Default value: auto

flex

flexflex-grow, flex-shrink andflex-basis的縮寫,auto等價于1 1 auto,none等價于0 0 auto.

.flex-item {
  -webkit-flex: none | auto | [  ? ||  ]; /* Safari */
  flex:         none | auto | [  ? ||  ];
}

Default value: 0 1 auto

align-self

align-self主要用在當因為flex-container上的屬性align-items屬性改變了自己的狀態但是又希望自己的狀態和其它兄弟視圖之間的狀態不一樣時,就可以使用align-self來的自身的狀態進行設置。

.flex-item {
  -webkit-align-self: auto | flex-start | flex-end | center | baseline | stretch; /* Safari */
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

Default value: auto

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/112189.html

相關文章

  • 2017-06-30 前端日報

    摘要:前端日報精選流式分頁方案探索異步流程控制掘金虛擬內部是如何工作的眾成翻譯移動端圖片上傳旋轉壓縮的解決方案源碼分析整體流程支持中文譯升級指南掘金第期理解前端現狀答題救不了前端新人掘金進階系列文件上傳下載數組操作大全 2017-06-30 前端日報 精選 流式分頁方案探索異步流程控制 - 掘金虛擬DOM內部是如何工作的? - 眾成翻譯移動端圖片上傳旋轉、壓縮的解決方案 · Issue #1...

    GHOST_349178 評論0 收藏0
  • JS正則表達式入門看這夠了

    摘要:如果遇到非常的復雜的匹配,正則表達式的優勢就更加明顯了。關于正則表達式書寫規則,可查看,上面說的很清楚了,我就不貼出來了。替換與正則表達式匹配的子串,并返回替換后的字符串。結語正則表達式并不難,懂了其中的套路之后,一切都變得簡單了。 前言 在正文開始前,先說說正則表達式是什么,為什么要用正則表達式?正則表達式在我個人看來就是一個瀏覽器可以識別的規則,有了這個規則,瀏覽器就可以幫我們判斷...

    wenzi 評論0 收藏0
  • 「碼個蛋」2017年200精選干貨集合

    摘要:讓你收獲滿滿碼個蛋從年月日推送第篇文章一年過去了已累積推文近篇文章,本文為年度精選,共計篇,按照類別整理便于讀者主題閱讀。本篇文章是今年的最后一篇技術文章,為了讓大家在家也能好好學習,特此花了幾個小時整理了這些文章。 showImg(https://segmentfault.com/img/remote/1460000013241596); 讓你收獲滿滿! 碼個蛋從2017年02月20...

    wangtdgoodluck 評論0 收藏0
  • Scrapy詳解 爬蟲框架入門看這夠了

    摘要:目錄前言架構安裝第一個爬蟲爬取有道翻譯創建項目創建創建解析運行爬蟲爬取單詞釋義下載單詞語音文件前言學習有一段時間了,當時想要獲取一下百度漢字的解析,又不想一個個漢字去搜,復制粘貼太費勁,考慮到爬蟲的便利性,這篇文章是介紹一個爬蟲框架, 目錄 前言 架構 安裝 第一個爬蟲:爬取有道翻譯 創建項目 創建Item 創建Spider 解析 運行爬蟲-爬取單詞釋義 下載單詞語音文件 ...

    lordharrd 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<