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

資訊專欄INFORMATION COLUMN

前端培訓(xùn)-初級(jí)階段(9 -12)

netScorpion / 2214人閱讀

摘要:前端最基礎(chǔ)的就是。往期內(nèi)容前端培訓(xùn)初級(jí)階段前端培訓(xùn)初級(jí)階段后記慣例補(bǔ)上主講人文章參考資料引用培訓(xùn)目錄出處已備份到筆記字體生成原理及使用技巧查詢?cè)倭囊苿?dòng)端頁(yè)面的適配布局教程語(yǔ)法篇布局教程實(shí)例篇使用實(shí)現(xiàn)手淘頁(yè)面的終端適配

前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開課啦(每周四)。

我們要講什么

Iconfont 字體圖標(biāo)(阿里巴巴矢量字體圖標(biāo)庫(kù))原理以及實(shí)現(xiàn)

Media媒體響應(yīng)式布局

Flex彈性盒子布局

移動(dòng)端適配原理 rem(px、em、rem、%、vm)

課后作業(yè)

使用 Media 做一個(gè)商品列表,800 以下的屏幕顯示兩列,其他屏幕 width: 200px,能放多少放多少

實(shí)現(xiàn)微信群組頭像(盡可能多使用幾種方法),avatar 和 border 都是不需要,我只是為了讓大家看的清楚。單詞居然寫錯(cuò)了,還復(fù)制了好多次,還好我發(fā)現(xiàn)了。

實(shí)現(xiàn)文字和圖標(biāo)混排,并盡可能多的顯示文字。(盡可能多的使用幾種方法)
1.文字極多,三圖標(biāo)
2.文字極多,兩圖標(biāo)
3.文字不多,兩圖標(biāo)
4.文字不多,三圖標(biāo)

使用 Iconfont 做一個(gè)微信下面導(dǎo)航

Iconfont 字體圖標(biāo)(阿里巴巴矢量字體圖標(biāo)庫(kù))原理以及實(shí)現(xiàn)

Iconfont是什么?
阿里媽媽MUX傾力打造的矢量圖標(biāo)管理、交流平臺(tái)。設(shè)計(jì)師將圖標(biāo)上傳到Iconfont平臺(tái),用戶可以自定義下載多種格式的icon,平臺(tái)也可將圖標(biāo)轉(zhuǎn)換為字體,便于前端工程師自由調(diào)整與調(diào)用。

Iconfont 地址

Iconfont 官方幫助中心

原理實(shí)現(xiàn) 1) unicode 引用

通過(guò)修改 @font-face 定義字體,然后替換元素的 font-family。(順便說(shuō)句題外話,有些網(wǎng)頁(yè)防爬,服務(wù)端輸出數(shù)據(jù)1594,前端修改font-fmaily把 1594 對(duì)應(yīng)到 5941,以此來(lái)達(dá)到看到的數(shù)據(jù)是對(duì)的,爬走的數(shù)據(jù)是假的。)

@font-face{font-family: "iconfont";
    src: url("iconfont.eot");
    src: url("iconfont.eot?#iefix") format("embedded-opentype"),
    url("iconfont.woff") format("woff"),
    url("iconfont.ttf") format("truetype"),
    url("iconfont.svg#iconfont") format("svg");
}
.iconfont{
    font-family:"iconfont" !important;
    font-size:16px;font-style:normal;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;}

3

unicode是字體在網(wǎng)頁(yè)端最原始的應(yīng)用方式,特點(diǎn)是:

兼容性最好,支持ie6+,及所有現(xiàn)代瀏覽器。

支持按字體的方式去動(dòng)態(tài)調(diào)整圖標(biāo)大小,顏色等等。

但是因?yàn)槭亲煮w,所以不支持多色。只能使用平臺(tái)里單色的圖標(biāo),就算項(xiàng)目里有多色圖標(biāo)也會(huì)自動(dòng)去色。

2) font-class 引用

font-class 是 unicode 使用方式的一種變種,主要是解決 unicode 書寫不直觀,語(yǔ)意不明確的問題。其實(shí)和上面相比就是把字符寫在 content: "e502"; 中。

@font-face {font-family: "iconfont";
  src: url("iconfont.eot?t=1552637571329"); /* IE9 */
  src: url("iconfont.eot?t=1552637571329#iefix") format("embedded-opentype"), /* IE6-IE8 */
  url("data:application/x-font-woff2;charset=utf-8;base64,") format("woff2"),
  url("iconfont.woff?t=1552637571329") format("woff"),
  url("iconfont.ttf?t=1552637571329") format("truetype"), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  url("iconfont.svg?t=1552637571329#iconfont") format("svg"); /* iOS 4.1- */
}
.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-h5-copy:before {
  content: "e502";
}

與unicode使用方式相比,具有如下特點(diǎn):

兼容性良好,支持ie8+,及所有現(xiàn)代瀏覽器。

相比于unicode語(yǔ)意明確,書寫更直觀??梢院苋菀追直孢@個(gè)icon是什么。

因?yàn)槭褂胏lass來(lái)定義圖標(biāo),所以當(dāng)要替換圖標(biāo)時(shí),只需要修改class里面的unicode引用。

不過(guò)因?yàn)楸举|(zhì)上還是使用的字體,所以多色圖標(biāo)還是不支持的。

3) symbol 引用

這是一種全新的使用方式,應(yīng)該說(shuō)這才是未來(lái)的主流,也是平臺(tái)目前推薦的用法。這種用法其實(shí)是做了一個(gè)svg的集合,與上面兩種相比具有如下特點(diǎn):

支持多色圖標(biāo)了,不再受單色限制。

通過(guò)一些技巧,支持像字體那樣,通過(guò)font-size,color來(lái)調(diào)整樣式。

兼容性較差,支持 ie9+,及現(xiàn)代瀏覽器。

瀏覽器渲染svg的性能一般,還不如png。

如何使用?

選擇你所需要的,然后下載。看demo.html,里面有代碼。

Media媒體響應(yīng)式布局

使用 @media 查詢,可以針對(duì)媒體類型屏幕尺寸來(lái)設(shè)置樣式。當(dāng)你重置瀏覽器大小的過(guò)程中,頁(yè)面也會(huì)根據(jù)瀏覽器的寬度和高度重新渲染頁(yè)面。

語(yǔ)法

@media mediatype and|not|only (media feature) {
    CSS-Code;
}

媒體類型(mediatype)

描述
all 用于所有設(shè)備
print 用于打印機(jī)和打印預(yù)覽
screen 用于電腦屏幕,平板電腦,智能手機(jī)等
speech 應(yīng)用于屏幕閱讀器等發(fā)聲設(shè)備

媒體特征(media feature)

測(cè)試頁(yè)面,常用的其實(shí)不多,主要就是判斷設(shè)備寬度。

// https://v4.bootcss.com/docs/4.0/layout/overview/#responsive-breakpoints
// Extra small devices (portrait phones, less than 576px)
// No media query since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
描述
device-height 定義輸出設(shè)備的屏幕可見高度
device-width 定義輸出設(shè)備的屏幕可見寬度
height 定義輸出設(shè)備中的頁(yè)面可見區(qū)域高度
width 定義輸出設(shè)備中的頁(yè)面可見區(qū)域?qū)挾?/td>
max-device-height 定義輸出設(shè)備的屏幕可見的最大高度
max-device-width 定義輸出設(shè)備的屏幕最大可見寬度
max-height 定義輸出設(shè)備中的頁(yè)面最大可見區(qū)域高度
max-width 定義輸出設(shè)備中的頁(yè)面最大可見區(qū)域?qū)挾?/td>
min-device-width 定義輸出設(shè)備的屏幕最小可見寬度
min-device-height 定義輸出設(shè)備的屏幕的最小可見高度
min-height 定義輸出設(shè)備中的頁(yè)面最小可見區(qū)域高度
min-width 定義輸出設(shè)備中的頁(yè)面最小可見區(qū)域?qū)挾?/td>
orientation 定義輸出設(shè)備中的頁(yè)面可見區(qū)域高度是否大于或等于寬度

Flex彈性盒子布局

Flex布局是什么?
2009年,W3C 提出了一種新的方案—- Flex布局,可以簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁(yè)面布局。目前,它已經(jīng)得到了所有瀏覽器的支持,這意味著,很快就能很安全的使用。Flex 是 Flexible Box 的縮寫,意為”彈性布局”,用來(lái)為盒狀模型提供最大的靈活性。

容器的屬性(父級(jí))

屬性名 屬性值 默認(rèn)值 描述
display flex inline-flex static 定義為彈性盒子
flex-direction row(主軸為水平方向,起點(diǎn)在左端)
row-reverse(主軸為水平方向,起點(diǎn)在右端)
column(主軸為垂直方向,起點(diǎn)在上沿)
column-reverse(主軸為垂直方向,起點(diǎn)在下沿)
row 排列方向
flex-wrap nowrap(不換行)
wrap(換行,第一行在上方)
wrap-reverse(換行,第一行在下方)
nowarp 內(nèi)容放不下,如何換行
flex-flow row nowarp 是flex-direction屬性和flex-wrap屬性的簡(jiǎn)寫形式
justify-content flex-start(左對(duì)齊)
flex-end(右對(duì)齊)
center(居中)
space-between(兩端對(duì)齊)
space-around(每個(gè)項(xiàng)目?jī)蓚?cè)的間隔相等。所以,項(xiàng)目之間的間隔比項(xiàng)目與邊框的間隔大一倍);
flex-start 主軸上的對(duì)齊方式,默認(rèn)來(lái)說(shuō)就是水平對(duì)齊text-align
align-items flex-start(頂部)
flex-end(底部)
center(居中)
baseline(文字基線)
stretch(垂直拉伸);
stretch 交叉軸對(duì)齊方式,默認(rèn)來(lái)說(shuō)就是垂直對(duì)齊vertical-align
align-content flex-start(頂部)
flex-end(底部)
center(居中)
space-between(軸線之間的間隔平均分布)
space-around(每根軸線兩側(cè)的間隔都相等)
stretch(軸線占滿整個(gè)交叉軸)
stretch 定義了多根軸線的對(duì)齊方式。如果項(xiàng)目只有一根軸線,該屬性不起作用。

項(xiàng)目的屬性(子集、子元素)

order 定義項(xiàng)目的排列順序。數(shù)值越小,排列越靠前,默認(rèn)為0。(數(shù)值是有極限的,demo)

flex-grow 屬性定義項(xiàng)目的放大比例,默認(rèn)為0,即如果存在剩余空間,也不放大。如果所有項(xiàng)目的flex-grow屬性都為1,則它們將等分剩余空間(如果有的話)。如果一個(gè)項(xiàng)目的flex-grow屬性為2,其他項(xiàng)目都為1,則前者占據(jù)的剩余空間將比其他項(xiàng)多一倍。

flex-shrink 定義了項(xiàng)目的縮小比例,默認(rèn)為1,即如果空間不足,該項(xiàng)目將縮小。如果所有項(xiàng)目的flex-shrink屬性都為1,當(dāng)空間不足時(shí),都將等比例縮小。如果一個(gè)項(xiàng)目的flex-shrink屬性為0,其他項(xiàng)目都為1,則空間不足時(shí),前者不縮小。負(fù)值對(duì)該屬性無(wú)效。

flex-basis 定義了在分配多余空間之前,項(xiàng)目占據(jù)的主軸空間(main size)。瀏覽器根據(jù)這個(gè)屬性,計(jì)算主軸是否有多余空間。它的默認(rèn)值為auto,即項(xiàng)目的本來(lái)大小。它可以設(shè)為跟width或height屬性一樣的值(比如350px),則項(xiàng)目將占據(jù)固定空間。

flex 屬性是flex-grow, flex-shrink 和 flex-basis的簡(jiǎn)寫,默認(rèn)值為0 1 auto。后兩個(gè)屬性可選。該屬性有兩個(gè)快捷值:auto (1 1 auto) 和 none (0 0 auto)。建議優(yōu)先使用這個(gè)屬性,而不是多帶帶寫三個(gè)分離的屬性,因?yàn)闉g覽器會(huì)推算相關(guān)值。

align-self 屬性允許單個(gè)項(xiàng)目有與其他項(xiàng)目不一樣的對(duì)齊方式,可覆蓋align-items屬性。默認(rèn)值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同于stretch。

注意,設(shè)為Flex布局以后,子元素的float、clear和vertical-align屬性將失效。
移動(dòng)端適配原理 rem(px、em、rem、%、vm)

移動(dòng)端適配要解決的問題

各終端下的適配問題(寬度 640 750)

Retina屏的細(xì)節(jié)處理 (iOS)

如何解決問題

rem 基于 html 的 font-size。實(shí)時(shí)更新 font-size 和屏幕寬度成比例,基于屏幕寬度適配

其中又分為基于媒介查詢

@media screen and (min-width:350px){html{font-size:342%;}}
@media screen and (min-width:360px){html{font-size:351.5625%;}}
@media screen and (min-width:375px){html{font-size:366.2%;}}
@media screen and (min-width:384px){html{font-size:375%;}}
@media screen and (min-width:390px){html{font-size:380.859%;}}
@media screen and (min-width:410px){html{font-size:400%;}}
@media screen and (min-width:432px){ /* 魅族3 */html{font-size:421.875%;}}
@media screen and (min-width:480px){html{font-size:469%;}}
@media screen and (min-width:540px){html{font-size:527.34%;}}
@media screen and (min-width:640px){html{font-size: 625%;}}
@media screen and (min-width:768px){html{font-size: 750%;}}

基于寬度計(jì)算(設(shè)計(jì)稿為 640)*0.15625

Flexible 也就是我們常說(shuō)的手淘H5頁(yè)面的終端適配方案

vw/vh/vmin/vmax 新單位,直接基于屏幕寬度適配

vw 代表寬度分為 100 份。

vh 代表屏幕高度分為 100 份。

vmin 代表寬高最小值分為 100 份。

vmax 代表寬高最大值分為 100 份。

基于媒介查詢做(太費(fèi)事了)

合理的 viewport

 
 
 
 
 

上面說(shuō)了那么多,其實(shí)還是有坑的,下面我們來(lái)說(shuō)說(shuō)適配有什么坑。

不知道大家做過(guò)那種 ppt 的頁(yè)面沒,劃來(lái)劃去動(dòng)畫效果。寬高是沒有比例的。所以在一些屏幕特別長(zhǎng)的機(jī)型上就露底了。一般來(lái)說(shuō)解決方案就是垂直居中頁(yè)面了

手淘方案在新出的曲面屏上表現(xiàn)怪異。那是因?yàn)樗@個(gè)方案有一個(gè)最大值,而曲面屏超過(guò)了這個(gè)極限值。解決方案呢兩個(gè)

vw

水平居中頁(yè)面咯。

往期內(nèi)容

前端培訓(xùn)-初級(jí)階段(1 - 4)

前端培訓(xùn)-初級(jí)階段(5 - 8)

后記

慣例補(bǔ)上主講人文章

參考資料

(引用) 培訓(xùn)目錄出處-已備份到筆記

Iconfont字體生成原理及使用技巧

CSS3 @media 查詢 --runoob

再聊移動(dòng)端頁(yè)面的適配

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

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

使用Flexible實(shí)現(xiàn)手淘H5頁(yè)面的終端適配 #17

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

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

相關(guān)文章

  • 前端培訓(xùn)-初級(jí)階段(13) - 正則表達(dá)式

    摘要:前端培訓(xùn)初級(jí)階段語(yǔ)法變量值類型運(yùn)算符語(yǔ)句前端培訓(xùn)初級(jí)階段內(nèi)置對(duì)象函數(shù)前端培訓(xùn)初級(jí)階段類模塊繼承基礎(chǔ)內(nèi)容知識(shí)我們會(huì)用到。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開課啦(每周四)。 該文為前端培訓(xùn)-初級(jí)階段(1...

    suemi 評(píng)論0 收藏0
  • 前端培訓(xùn)-初級(jí)階段-場(chǎng)景實(shí)戰(zhàn)(2019-05-30)-input 搜索如何防抖,如何處理中文輸入

    摘要:在掘金摸魚的時(shí)候看到了一個(gè)題第題搜索如何防抖,如何處理中文輸入,感覺挺有意思的。測(cè)試地址事件輸入法事件輸入法的第一個(gè)字母時(shí)觸發(fā)。輸入法狀態(tài)輸入內(nèi)容。輸入法選擇之后觸發(fā)。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我...

    Yuanf 評(píng)論0 收藏0
  • 前端培訓(xùn)-初級(jí)階段-場(chǎng)景實(shí)戰(zhàn)(2019-05-30)-input 搜索如何防抖,如何處理中文輸入

    摘要:在掘金摸魚的時(shí)候看到了一個(gè)題第題搜索如何防抖,如何處理中文輸入,感覺挺有意思的。測(cè)試地址事件輸入法事件輸入法的第一個(gè)字母時(shí)觸發(fā)。輸入法狀態(tài)輸入內(nèi)容。輸入法選擇之后觸發(fā)。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我...

    BDEEFE 評(píng)論0 收藏0
  • 前端培訓(xùn)-初級(jí)階段(13) - 類、模塊、繼承

    摘要:前端培訓(xùn)初級(jí)階段語(yǔ)法變量值類型運(yùn)算符語(yǔ)句前端培訓(xùn)初級(jí)階段內(nèi)置對(duì)象函數(shù)基礎(chǔ)內(nèi)容知識(shí)我們會(huì)用到。模塊定義加載模塊繼承中的繼承依賴于原型鏈繼承。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開課啦(每周四)。 該文為前...

    luodongseu 評(píng)論0 收藏0
  • 前端培訓(xùn)-初級(jí)階段 - xss相關(guān)(2019-04-18)

    摘要:前端最基礎(chǔ)的就是。但是如果是盜竊,異常提交請(qǐng)求,這些就屬于危險(xiǎn)操作。可以用來(lái)偽裝成其他用戶操作,有可能就會(huì)造成財(cái)產(chǎn)上的損失。劫持有的時(shí)候運(yùn)營(yíng)商的劫持還是沒辦法。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識(shí)的中心思想,我們開課啦...

    VioletJack 評(píng)論0 收藏0
  • 前端培訓(xùn)-初級(jí)階段(17) - 數(shù)據(jù)存儲(chǔ)(cookie、session、stroage)

    摘要:前端最基礎(chǔ)的就是。這是初級(jí)階段的最后一堂了。敏感數(shù)據(jù)要設(shè)置防止意外的被他人獲取。是什么服務(wù)器端存放數(shù)據(jù)。都是用來(lái)做瀏覽器端存儲(chǔ)的。解決的問題的存儲(chǔ)大小問題。該使用索引來(lái)實(shí)現(xiàn)對(duì)該數(shù)據(jù)的高性能搜索。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,...

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

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

0條評(píng)論

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