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

資訊專欄INFORMATION COLUMN

如何深入使用scss開發(fā)一個(gè)簡(jiǎn)單頁面

Rocko / 1780人閱讀

摘要:本文將從常規(guī)開發(fā)的角度,深入使用一些的語法。一步一步開始吧第一步有圖有真相首先從設(shè)計(jì)姐姐拿到一個(gè)標(biāo)記過的文件。問題移動(dòng)兼容性如果使用單位,在不同的手機(jī)上會(huì)出現(xiàn)圖標(biāo)位置錯(cuò)位。注意這里推薦使用,而不是進(jìn)行縮放。方法二中使用百分比單位。

本文將從常規(guī)開發(fā)的角度,深入使用一些scss的語法。一步一步開始吧~~

第一步 :有圖有真相

首先從設(shè)計(jì)姐姐拿到一個(gè)標(biāo)記過的psd文件。(當(dāng)然平常很常見是沒有這種標(biāo)記的,我們可以用ps的量尺自己量。)這里給大家推薦個(gè)工具:Avocode 自動(dòng)標(biāo)記(試用15天 之后收費(fèi))

此時(shí)會(huì)發(fā)現(xiàn)有大量的顏色間距字號(hào)圓角等是重復(fù)使用的,容易更改的。我們可以選擇使用scss的變量語法。將這些重復(fù)出現(xiàn)的東西抽離出來。
具體應(yīng)用如下(注意命名要直觀,易懂喲~):
// font相關(guān)
//-----------------------------------------------------    
$fontSize:                       .28rem !default; 
$fontLine:                       .36rem; 
$fontLineHeight:                 1.5 !default;
$fontFamily:                     -apple-system, BlinkMacSystemFont, "Seogoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif !default;
// 蘋方, 冬青黑體,微軟雅黑UI(win8.1+),微軟雅黑,思源黑體(安卓)
$fontCn:                          "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN" sans-serif !default; 
// 前兩個(gè)為safari chrome, ios4.0+, ios4.0-, Android 4.0+, Android 4.0-, windows&windows Phone,
$fontEn:                         -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Roboto, "Droid Sans", "Seogoe UI", Arial !default; 


// 背景色,文本色,邊框色
//-----------------------------------------------------    
$colorText:                      #333 !default;
$colorBg:                        #ffec6b !default;
$colorBorder:                    #333 !default;
$colorOverlay:                   rgba(0,0,0,.7) !default; // 遮罩層顏色
$titleBg:                        #fffad7 !default;
$titleText:                      #f9d365 !default;

$yellow:                         #ffe73d !default;
$red:                            #ff6f6f !default;
$white:                          #fff !default;
$gray:                           #ffffd !default;
// 元素上下間距
//-----------------------------------------------------    
$gap:                             .1rem !default;


// radius
//-----------------------------------------------------    
$radiusBase:                      .05rem !default;
$radiusSmall:                     .03rem !default;

// z-index
//-----------------------------------------------------    
$zIndexHeader:                    1000 !default;
$zIndexFooter:                    2000 !default;
$zIndexPopup:                      3000 !default;                     
$zIndexOverlay:                   4000 !default; // 默認(rèn)高于header和footer部分

細(xì)心的同學(xué)可能注意到,我們使用的單位是rem.此處因?yàn)槭且苿?dòng)頁面 所以采用了rem單位。

第二步 scss精靈圖

整個(gè)頁面有很多小圖片,多個(gè)小圖請(qǐng)求顯然是不合理的。這個(gè)時(shí)候我們采用比較通用的方案精靈圖。但是因?yàn)槲覀儾捎玫氖莚em會(huì)出現(xiàn)不同手機(jī)錯(cuò)位現(xiàn)象,下邊會(huì)有具體的解決方法。

//mixin
@mixin stitches-sprite($x: 0, $y: 0, $width: 0, $height: 0) {
    background-position: $x $y;
    width: $width;
    height: $height;
};
//使用
.sprite {
      background-image: url("http://n1.c.imoxiu.com/99ce2d4e5f663f272adbb75147b0423f6aa7cca7");
      background-repeat: no-repeat;
      display: block;
 
      &.sprite-__1 {
           @include stitches-sprite(-5px, -5px, 120px, 40px);
      }
};

方法一:

生成精靈圖:在線工具 自動(dòng)生成坐標(biāo)(x,y)

抽離出一個(gè)mixin ,使用每個(gè)小圖時(shí),可以直接傳入寬高,坐標(biāo)。避免重復(fù)書寫該段代碼段。

問題: 移動(dòng)兼容性

如果使用rem單位,在不同的手機(jī)上會(huì)出現(xiàn)圖標(biāo)位置錯(cuò)位。為什么錯(cuò)位呢?原理也很簡(jiǎn)單,因?yàn)椴煌瑸g覽器1rem對(duì)應(yīng)的px是變化的 ,所以使用background-position所得到的位置是不同的,也就產(chǎn)生了錯(cuò)位。所以這里不推薦使用rem單位,做移動(dòng)端精靈圖。

使用px單位,不會(huì)產(chǎn)生錯(cuò)位了,但是在圖標(biāo)大小不隨著手機(jī)適配怎么解決呢?這里用了rem的原理。我們知道 其中rem 是與根元素的fontSize有關(guān)的。假設(shè)fontSize是20px ,那么1rem為20px。我們可以得出公式。

rem*fontSize = px

因此我們就可以算出,當(dāng)前圖標(biāo)應(yīng)該縮放的大小。

注意:這里推薦使用zoom,而不是transform:"scale()",進(jìn)行縮放。因?yàn)閠ransform縮放后的元素實(shí)際大小還是縮放前的大小。zoom則實(shí)際大小是縮放后大小。

方法二:

background-position中使用百分比單位。

//其中 W/H 是整個(gè)雪碧圖的寬高, w/h 是單個(gè) icon 的大小,而 x/y 則是傳統(tǒng)的 px 坐標(biāo)。
n% *W - n% *w = -x
n% *H - n% *h = -y

方法二參考文獻(xiàn)

另外還有使用gulp進(jìn)行打包生成精靈圖,后續(xù)整理Gulp配置發(fā)出。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/111890.html

相關(guān)文章

  • css模塊化思想初探

    摘要:希望能通過理解的模塊化,窺探出模塊化的意義與思想。本文僅解析模塊化思想與技巧,構(gòu)建工具與動(dòng)態(tài)樣式語言本身這兩樣是必不可少,篇幅有限就不展開討論了。 前言 前端模塊化是個(gè)非常大的話題了,我們可以簡(jiǎn)單的分為html模塊化、javascript模塊化、css模塊化;那么我們先從css模塊化開始,css模塊化基礎(chǔ)卻必不可少。希望能通過理解css的模塊化,窺探出模塊化的意義與思想。 提綱 當(dāng)項(xiàng)目...

    zorro 評(píng)論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 CSS 篇

    摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。它能夠?yàn)槲覀兲峁╊愃朴陬A(yù)處理器命名空間等多方面的輔助。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎關(guān)注【前端之巔】微信公眾號(hào)(ID:f...

    RaoMeng 評(píng)論0 收藏0
  • 深入新版BS4源碼 探索flex和工程化sass奧秘

    摘要:這個(gè)接受三個(gè)參數(shù)表示柵格數(shù)目默認(rèn)為默認(rèn)為表示斷點(diǎn)設(shè)置,這是一個(gè)全局變量,為類型。 你可能已經(jīng)聽說了一個(gè)大新聞:Bootstrap4 合并了代號(hào)為#21389的PR,宣布放棄支持IE9,并默認(rèn)使用flexbox彈性盒模型。這標(biāo)志著:1)前端開發(fā)全面步入現(xiàn)代瀏覽器的時(shí)代進(jìn)一步來臨;2)樣式處理也再一次面向未來,擁抱更加靈活的彈性盒模型-Flex布局。 這篇文章會(huì)帶你深入Bootstrap最...

    evin2016 評(píng)論0 收藏0
  • 深入新版BS4源碼 探索flex和工程化sass奧秘

    摘要:這個(gè)接受三個(gè)參數(shù)表示柵格數(shù)目默認(rèn)為默認(rèn)為表示斷點(diǎn)設(shè)置,這是一個(gè)全局變量,為類型。 你可能已經(jīng)聽說了一個(gè)大新聞:Bootstrap4 合并了代號(hào)為#21389的PR,宣布放棄支持IE9,并默認(rèn)使用flexbox彈性盒模型。這標(biāo)志著:1)前端開發(fā)全面步入現(xiàn)代瀏覽器的時(shí)代進(jìn)一步來臨;2)樣式處理也再一次面向未來,擁抱更加靈活的彈性盒模型-Flex布局。 這篇文章會(huì)帶你深入Bootstrap最...

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

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

0條評(píng)論

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