<div id="palb5"><fieldset id="palb5"><strike id="palb5"></strike></fieldset></div>
      <center id="palb5"></center>
        <ruby id="palb5"><menuitem id="palb5"></menuitem></ruby>

          <em id="palb5"><ol id="palb5"></ol></em>
          太阳之歌女主角,棋王梁家辉,三毛学生意,绅士品格国语版全集,西安天空出现奇异云层,幽灵公主在线观看高清完整,蜜桃成熟时2未删减版,燃烧电视剧全集30集

          CSS預(yù)處理語言的模塊化實(shí)踐實(shí)例

          時間:2024-11-01 11:49:33 CSS

          CSS預(yù)處理語言的模塊化實(shí)踐實(shí)例

            編寫css是前端工作中,一項(xiàng)普通而又頻繁的勞動,由于css并不是一門語言,所以在程序設(shè)計(jì)上顯得有些簡陋。對于小型項(xiàng)目來說,css的量還不至于龐大,問題沒有凸顯,而如果要開發(fā)和持續(xù)維護(hù)一個較為大型的項(xiàng)目,那就需要對css進(jìn)行管理和規(guī)范了,否則會發(fā)生不可挽回的后果。

            通過規(guī)范的約束,將css的編寫方式進(jìn)行了優(yōu)化和改進(jìn),形成一種可持續(xù)發(fā)展的路線。但還是遺留了一些問題:冗余。雖然我們通過定義公共模塊和私有模塊,來委婉地分擔(dān)common的體積,但common的體積還是太大了,而且從設(shè)計(jì)上考慮,我們應(yīng)該盡量多地提煉公共模塊,以便更好地實(shí)現(xiàn)復(fù)用。最理想的情況是,所有的模塊都寄存在一個公共的庫里,哪里需要用到就從庫中直接調(diào)過來。這個美好的愿望不是不可實(shí)現(xiàn)的,借助預(yù)處理語言,我們可以很輕易地完成這事情。

            預(yù)處理語言是一種類css的語言,我們知道css本身不是語言,而預(yù)處理語言的誕生,就是為填補(bǔ)這一部分語言功能。它實(shí)現(xiàn)了變量、函數(shù)、混合的定義,以及文件的引用、合并、壓縮功能,使得css也能面向?qū)ο螅瑧?yīng)付復(fù)雜龐大的業(yè)務(wù)。

            目前流行的預(yù)處理語言主要有兩種:less和sass。作為學(xué)習(xí),兩者都可以入門一下,而作為工作,盡量熟悉一種。我比較常用sass,所以以下內(nèi)容都是以sass為基本語言做介紹,兩者在特性上有很多相似的地方,所以大家不必?fù)?dān)心實(shí)現(xiàn)上有什么千差萬別。

            sass

            基本語法可以到官方網(wǎng)(英語)或者w3cplus sass guide(中文)查看學(xué)習(xí),我們這里只簡單地過一遍,講一些我們需要用到的內(nèi)容,不會面面俱到。

            sass有兩種后綴名文件:一種后綴名為sass,不使用大括號和分號;另一種就是我們這里使用的scss文件,這種和我們平時寫的css文件格式差不多,使用大括號和分號。而本教程中所說的所有sass文件都指后綴名為scss的文件。在此也建議使用后綴名為scss的文件,以避免sass后綴名的嚴(yán)格格式要求報(bào)錯。 ——摘自w3cplus sass guide

            1、嵌套(非常重要的特性)

            sass的嵌套包括兩種:一種是選擇器的嵌套;另一種是屬性的嵌套。我們一般說起或用到的都是選擇器的嵌套。 ——摘自w3cplus sass guide

            選擇器嵌套 所謂選擇器嵌套指的是在一個選擇器中嵌套另一個選擇器來實(shí)現(xiàn)繼承,從而增強(qiáng)了sass文件的結(jié)構(gòu)性和可讀性。在選擇器嵌套中,可以使用&表示父元素選擇器。 ——摘自w3cplus sass guide

            // index.scss

            .g-index {

            ...

            .g-hd {

            ...

            .m-nav { ... }

            }

            .g-bd {

            ...

            .m-news { ... }

            }

            .g-ft {

            ...

            .m-copy_right { ... }

            }

            .m-dialog {

            display: none;

            &.z-active { // 留意此處&的用法

            display: block;

            }

            }

            }

            編譯后:

            /* index.css */

            .g-index { ... }

            .g-index .g-hd { ... }

            .g-index .g-hd .m-nav { ... }

            .g-index .g-bd { ... }

            .g-index .g-bd .m-news { ... }

            .g-index .g-ft { ... }

            .g-index .g-ft .m-copy_right { ... }

            .g-index .m-dialog {

            display: none;

            }

            .g-index .m-dialog.z-active { // 留意此處&的編譯結(jié)果

            display: block;

            }

            是不是爽歪歪?再也不用一遍一遍地去復(fù)制和修改一大堆的選擇器,也不需要去整理它們之間的關(guān)系,只需要嵌套一下,所有的關(guān)系就如同直接看dom一樣簡單明了了!解放雙手,解放雙眼,同時還提高效率。值得留意的是,我們書寫sass的時候,應(yīng)該盡量保持sass的嵌套順序與dom一致,注意,是嵌套順序一致,而不是層次一致,因?yàn)椴⒉皇莇om里的所有元素都需要寫樣式。

            我們再來提一個場景,說明sass的嵌套寫法利于維護(hù),假設(shè)g-bd下原本有個模塊m-article_box,現(xiàn)在我們要把m-article_box從g-bd遷移到g-hd中(當(dāng)然這個需求有些不合理~),我們來看原始代碼:

            

            

            

            

            titleindex/title

            

            

            


            


            


            


            最新文章

            

            


            


            


            

            


            


            文章標(biāo)題

            

            

          文章簡介

            

            

            

            

            


            


            1

            2

            3

            4

            

            

            

            

            

            

            

            .g-bd { ... }

            .g-bd .m-article_box { ... }

            .g-bd .m-article_box .hd { ... }

            .g-bd .m-article_box .bd { ... }

            .g-bd .m-article_box .bd .list { ... }

            .g-bd .m-article_box .bd .list .item { ... }

            .g-bd .m-article_box .bd .list .item .cover { ... }

            .g-bd .m-article_box .bd .list .item .info { ... }

            .g-bd .m-article_box .bd .list .item .info .title { ... }

            .g-bd .m-article_box .bd .list .item .info .desc { ... }

            .g-bd .m-article_box .ft { ... }

            .g-bd .m-article_box .ft .page { ... }

            .g-bd .m-article_box .ft .page .pg { ... }

            按照css的方式,我們就要把所有跟m-article_box有關(guān)的部分,從g-bd全部復(fù)制到g-hd里去。這還是在模塊的書寫符合規(guī)范的情況下,如果這個模塊書寫不符合規(guī)范,沒有把全部結(jié)構(gòu)都掛在m-article_box類下,那真的就是災(zāi)難了~而現(xiàn)在使用sass的話,我們只需要把m-article_box的區(qū)塊整個從g-bd剪切到g-hd就完事了(這里為了突出修改的工作量大,我特地把整個模塊結(jié)構(gòu)都寫全了——才不是為了湊字?jǐn)?shù)。。。):

            // 修改前

            .g-hd { ... }

            .g-bd {

            .m-article_box {

            .hd { ... }

            .bd {

            .list {

            .item {

            .cover {

            ...

            }

            .info {

            .title {

            ...

            }

            .desc {

            ...

            }

            }

            }

            }

            }

            .ft {

            .page {

            .pg { ... }

            }

            }

            }

            }

            // 修改后

            .g-hd {

            .m-article_box {

            .hd { ... }

            .bd {

            .list {

            .item {

            .cover {

            ...

            }

            .info {

            .title {

            ...

            }

            .desc {

            ...

            }

            }

            }

            }

            }

            .ft {

            .page {

            .pg { ... }

            }

            }

            }

            }

            .g-bd { ... }

            非常方便,而且不容易出錯。

            2、變量(variable)

            咱們直接上代碼:

            // index.scss

            $fontSize: 16px;

            $grey: #ccc;

            .m-nav {

            font-size: $fontSize;

            color: $grey;

            }

            編譯結(jié)果:

            /* index.css */

            .m-nav {

            font-size: 16px;

            color: #ccc;

            }

            寫過代碼的人都熟悉 參數(shù) 的用法吧,太簡單太直白了不想說太多,自己意會吧。

            3、函數(shù)(function)

            // pixels to rems

            @function rem($px) {

            @return $px / 640 * 16rem;

            }

            太簡單了直白了不想說太多,自己意會吧。

            4、混合(mixin)

            混合,顧名思義,就是混合的意思。。。也就是我們可以事先定義一段代碼塊,在需要使用到的地方,直接引用(include),而在引用之前,這段代碼都不會出現(xiàn)在編譯文件中,也就是不會生成任何內(nèi)容。

            這也是非常重要的一個特性!我們知道common的體積非常大,而體積大的根本原因是它存放了許許多多的模塊。我們設(shè)想一下,如果將每一個模塊都打包成mixin,那common不就減肥成功了?!多年的頑疾終于看到希望,沒有比這更讓人驚喜的了!我們這就上車:

            /* common.css */

            .m-nav { ... }

            .m-news { ... }

            .m-copy_right { ... }

            改造后

            // common.scss

            @mixin m-nav {

            .m-nav { ... }

            }

            @mixin m-news {

            .m-news { ... }

            }

            @mixin m-copy_right {

            .m-copy_right { ... }

            }

            // index.scss

            .g-index {

            @include m-nav;

            @include m-news;

            @include m-copy_right;

            }

            5、import

            這個屬性很眼熟?沒錯,事實(shí)上,css本身就有這個屬性實(shí)現(xiàn),我們可以在css文件中直接使用import來引入其他文件。那么css的import和sass的import有什么區(qū)別?從含義和用法上來說,沒有區(qū)別,區(qū)別在于工作原理。css的import是阻塞的,而sass的import在編譯后,其實(shí)是合并文件,最后只產(chǎn)出一個css文件,而css則沒有合并,該多少個文件就還是多少個文件。

            注意:

            只有import一個.sass/.scss文件的時候,才可以省去后綴名,如果是直接import一個.css文件,要補(bǔ)全文件名;

            import之后的分號;不要漏寫,會報(bào)錯;

            sass如果import的是一個.css文件的話,那它的作用就跟css原生的import作用一樣,只有import一個sass文件的時候,才是合并文件。

            如下:

            // index.scss

            @import 'common';

            @import 'a.css';

            編譯結(jié)果:

            /* index.scss */

            .m-nav { ... }

            .m-news { ... }

            .m-copy_right { ... }

            @import url('a.css');

            css的import之所以沒有被普遍使用是有原因的。我們可以大概猜到它的工作原理:a.css import b.css以后,當(dāng)瀏覽器加載到頁面中的a.css的時候,已經(jīng)準(zhǔn)備按照a.css的內(nèi)容來渲染頁面了,剛解析到第一行,發(fā)現(xiàn)a.css居然還import了一個b.css,于是它不得不先放下a.css(既阻塞a.css),去加載b.css,直到b.css加載完,并且優(yōu)先解析它,然后才開始回來解析a.css——鬼知道b.css會不會又import了c.css……這直接導(dǎo)致了渲染工作滯后,引發(fā)性能問題。

            說實(shí)話我還不如直接用兩個link標(biāo)簽去同步加載a.css和b.css,效率會高一些。

            所以css的import基本是被拋棄了的屬性。

            sass的import主要的好處就是把文件合并了,減少了請求。原本需要link好幾個css文件的頁面,現(xiàn)在只需要一個。

            模塊化

            終于要開始干點(diǎn)正事了,首先我們來回顧一下,上一節(jié)我們以規(guī)范為基礎(chǔ)構(gòu)建的模塊化項(xiàng)目,遺留了一些什么問題。

            冗余 體積龐大的common;

            使用cm-模塊區(qū)別m-模塊,使得后期開發(fā)過程中,m-模塊向cm-模塊轉(zhuǎn)變過程比較繁瑣;

            ……

            好像,問題也不是特別多,我們一個一個解決。

            為了方便,在這里我們把每個頁面所對應(yīng)的scss文件叫做 頁面scss;把變量、函數(shù)、混合等(沒有被引用或者執(zhí)行的情況下)編譯后不產(chǎn)生實(shí)際內(nèi)容的代碼叫做 定義類代碼 ,那么相對應(yīng)的其他內(nèi)容就是 實(shí)際內(nèi)容代碼。

            1、mixin.scss

            我們知道,一方面,在common中過多地添加模塊最終會導(dǎo)致common的體積過大,使得資源冗余,另一方面,為了方便維護(hù),我們又希望盡量多地把模塊公有化。

            這是一對矛盾,僅靠css本身是無法解決的,但sass可以!如果我們使用mixin來代替直接書寫模塊,由于mixin并不直接生成代碼,而是通過主動引用,才能生成對應(yīng)內(nèi)容,那么理論上,common就可以無限多地存放模塊而不必占用一點(diǎn)空間!

            (注意,這里說的是理論上,實(shí)際應(yīng)用中,文件太過龐大的話,免不了還是要受到命名沖突的限制的,不過這問題不大。)

            說干就干,我們把common中的模塊全部打包成mixin:

            /* common.css */

            .m-nav { ... }

            .m-news { ... }

            .m-copy_right { ... }

            改造后

            // common.scss

            @mixin m-nav {

            .m-nav { ... }

            }

            @mixin m-news {

            .m-news { ... }

            }

            @mixin m-copy_right {

            .m-copy_right { ... }

            }

            調(diào)用方式如下:

            // index.scss

            @import 'common'; // 記得先引入common

            .g-index {

            @include m-nav;

            @include m-news;

            @include m-copy_right;

            }

            原本我們會在每個需要用到公共模塊的頁面中,先引用common,然后再引用頁面css,而現(xiàn)在,我們只需要在頁面scss中直接@import common;就可以了。

            使用common:

            

            

            

            

            titleindex/title

            link rel="stylesheet" type="text/css" href="./style/common.css"/

            link rel="stylesheet" type="text/css" href="./style/index.css"/

            

            

            ...

            

            

            改造后:

            // index.scss

            @import 'common';

            

            

            

            

            titleindex/title

            link rel="stylesheet" type="text/css" href="./style/index.css"/

            

            

            ...

            

            

            很完美,

            ——至少目前為止是這樣。

            我們思考一個問題,common除了存放模塊之外,還有沒有其他內(nèi)容?答案是肯定的,大家一定知道有個東西叫做css reset(或者normalize.css),這肯定是全局的;另外,如果是做后臺管理系統(tǒng)的話,可能還會有bootstrap。當(dāng)然,還有一些自定義的全局的樣式,比如常見的.clearfix,等等。

            這些東西目前我們也堆積在common當(dāng)中,而且合情合理,因?yàn)樗鼈兌际侨值臉邮健5菍Ρ绕餸ixin來說,這些實(shí)際內(nèi)容代碼顯得很少量,有種被淹沒的感覺,使得整個common看上去就像只有mixin。但是這些實(shí)際內(nèi)容代碼的作用卻又非常重要。為了使common的構(gòu)成更加直觀,我們把mixin全部都抽離出來,單獨(dú)存放一個叫做mixin.scss的文件中,然后在common引用它,這樣,mixin的管理更加的規(guī)范,而且common的結(jié)構(gòu)也更加清晰了。

            抽離mixin還有另外一個重要原因,后面會講到的,我們希望mixin作為一個純粹定義類代碼文件,隨處可以引用而不會生成多余的代碼。

            原本我們會在每個需要用到公共模塊的頁面中,先引用common,然后再引用頁面css,而現(xiàn)在,我們只需要在頁面scss中直接@import mixin;就可以了。

            使用mixin:

            // index.scss

            @import 'common'; // 引入common,如果有需要,common里一樣可以引入mixin

            @import 'mixin'; // 引入mixin

            .g-index {

            ...

            }

            

            

            

            

            titleindex/title

            link rel="stylesheet" type="text/css" href="./style/index.css"/

            

            

            ...

            

            

            2、common.scss

            好,抽離了mixin之后,我們現(xiàn)在來重新看回common,common里應(yīng)該是些什么樣的內(nèi)容。上面的內(nèi)容我們稍稍提到了一點(diǎn),我們來展開一下。

            2.1、css reset(normalize)

            我們知道瀏覽器千差萬別,各瀏覽器的默認(rèn)樣式也是不盡相同,最常見的比如body的默認(rèn)內(nèi)邊距,p標(biāo)簽的默認(rèn)內(nèi)邊距,以及ul/ol等等。這些不統(tǒng)一的默認(rèn)樣式經(jīng)常讓我們感到頭疼,所以就有人提出一開始寫樣式就先把它們消除的想法,于是就催生了后來非常流行的reset.css。

            起初的reset.css很簡單,大概是這樣的:

            html, body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, p {

            margin: 0;

            padding: 0;

            }

            沒錯,就是把幾乎所有會用到的標(biāo)簽都給去了內(nèi)邊距和外邊距,簡單粗暴,這樣所有的標(biāo)簽就都統(tǒng)一了,而且在不同的瀏覽器下也是統(tǒng)一的。

            其他的部分每個人有各自的補(bǔ)充,比如有人會把h1~h6的所有字號給定義一遍,以保證在不同瀏覽器下他們有統(tǒng)一的大小;有人會給a標(biāo)簽設(shè)置統(tǒng)一的字體顏色和hover效果,諸如此類等等。

            很好,沒毛病。我們把這些統(tǒng)稱為css reset,然后再統(tǒng)一封裝到一個叫做reset.css的文件中,然后每個頁面都引用。

            這種方式一直以來都挺實(shí)用,而且大家也都這么用,沒出過什么問題。只是后來有人提出,這種方式太過粗暴(居然還心疼瀏覽器了)。。。而且會降低頁面渲染的性能,最重要的是,這使得我們原本設(shè)計(jì)出來的表達(dá)各種含義的標(biāo)簽兒們,變得毫無特點(diǎn)了。。。

            說的好有道理,如果你家里所有人名字不一樣但是都長一個樣,還有啥意思。

            于是,就出現(xiàn)了normalize.css,normalize的目的同樣是為了統(tǒng)一各個瀏覽器下各不相同的默認(rèn)樣式,不過它并不是簡單粗暴地全部抹平,而是根據(jù)規(guī)范,來人為地把那些不符合規(guī)范的默認(rèn)樣式“扶正”,從而達(dá)到統(tǒng)一各個瀏覽器默認(rèn)樣式,同時保留各個標(biāo)簽原有特點(diǎn)的目的。

            我們不能說reset與normalize這兩種思想孰好孰壞,只能說各有各的特點(diǎn)和作用,它們的存在都是為了解決同樣的問題。

            2.2、插件

            一般來說,一個ui插件都會至少包括一個css文件,像bootstrap、datepicker等等。假設(shè)我們項(xiàng)目中需要以bootstrap為基礎(chǔ)框架,實(shí)現(xiàn)快速開發(fā),那么這時候我們就需要在項(xiàng)目中全局引入bootstrap.min.css,當(dāng)然,還有bootstrap.min.js。說到全局暴露,我們第一時間想到的是common,沒錯,我們可以在common中引入。

            有人問,插件的.css文件怎么import?額,改一下擴(kuò)展名為.scss就可以了,scss是兼容原生css語法的~

            所以最終,我們的common大概是這樣子的:

            // common.scss

            @import './reset';

            @import './bootstrap.min';

            @import './mixin';

            事實(shí)上,如果我們不需要使用到 mixin.scss 中的變量和mixin的話,我們可以不引用它。

            那么我們的頁面scss應(yīng)該是這樣的:

            // index.scss

            @import './common';

            @import './mixin';

            .g-index {

            ...

            }

            干凈,整潔。

            3、mixin編寫規(guī)范

            每添加一個新角色,我們就要及時給它設(shè)置規(guī)范,好讓它按照我們的期望工作別添亂。我們接下來來歸納一下mixin的書寫規(guī)范。

            場景一:項(xiàng)目里有mixin.scss、a.scss(假設(shè)這是某個功能文件)、index.scss三個文件,mixin中定義了一個變量$fontSize: 16px;,a中定義了一個變量$color: #ccc;,我們在index中同時引用這兩個文件,那么我們在index中是可以直接使用$fontSize和$color這兩個變量的——我的意思是,盡管在index中我們并沒有看到這兩個變量的聲明和定義,但它們就這么存在了。

            這是好事還是壞事呢?直覺告訴我,這可能有問題。沒錯,這是不是跟我們之前討論過的 污染 很像?只不過我們之前是引用了common之后,index什么都還沒寫就已經(jīng)被占用了很多模塊名,而現(xiàn)在是因?yàn)橐昧似渌募加昧薸ndex的很多變量名。另外,就維護(hù)的角度來看,這也是有問題的,如果我不事先告訴你,或者你不事先看過一遍mixin和a,你知道index中的$color是哪里來的嗎?假設(shè)我們需要字體大小,你知道去哪個文件修改嗎?另外,你怎么保證同時引用mixin與a的時候,他們之間有沒有可能存在同名的變量?那誰覆蓋誰呢?這些問題看起來很小,但是當(dāng)你項(xiàng)目規(guī)模大的時候,這可能是無法挽回的災(zāi)難(嚇唬誰呢???)。

            場景二:假設(shè)我們的項(xiàng)目有一個主題色,邊框、tab背景、導(dǎo)航欄背景,以及字體顏色等等,都是這個主題色,為了方便使用,不想總是用取色器去取值,于是我們在mixin中定義了一個全局變量$color: #ff9900,然后就可以愉快地到處使用了!

            整個網(wǎng)站開發(fā)完了,一個月后,設(shè)計(jì)師突然過來跟你說:“老板說,這個主題色要改改,有點(diǎn)土,咱們換個大紅。”,于是你一臉不情愿然而內(nèi)心卻竊喜地打開mixin,把$color的值改成了大紅,然后得瑟地對設(shè)計(jì)師說:“幸好我早有準(zhǔn)備,搞定了,你看看吧。”,保存,打開頁面一看,設(shè)計(jì)師和你的臉都綠了,頁面怎么這么丑,有些字原本是主題色,但背景是紅色,而現(xiàn)在一改,整塊都變成紅的,內(nèi)容都看不清了,有些邊框原本就是紅色的,但是字體是原本的主題色,然而現(xiàn)在一改,邊框跟字體都變成紅的了。

            設(shè)計(jì)師:“不不不,我只是想把背景顏色改一下。”

            你:“你不是說改主題色嗎?那就是所有的地方啊。”

            設(shè)計(jì)師:“不用,改背景就好了。”

            你:“不行啊。。。”

            設(shè)計(jì)師:“為什么不行,不就是改個背景顏色嗎?怎么設(shè)置的就怎么改回來呀。”

            你:“不是你想的那么簡單。。。”

            ……

            好吧我就是嚇唬你的,你要是特能折騰那么這些都不叫事兒。

            所以我們需要對(全局)變量進(jìn)行管理,就像我們當(dāng)初管理mixin那樣,不能想在哪里定義就在哪里定義,也不能動不動就修改一個全局變量:

            全局變量只在mixin中定義,其他scss文件定義的變量(無論是暴露到全局還是局部)都只看作局部變量,不在當(dāng)前文件以外的地方使用(即便是在能引用到的情況下,也避免使用);

            需要使用全局變量的地方直接import mixin;

            一般來說,定義全局變量應(yīng)該慎重,全局變量的數(shù)量應(yīng)該盡量少;

            盡可能不改動,如果需求變動,除非是對用途十分確定的情況,否則請新增一個全局變量來逐步替換需要修改的地方;

            不要使用太過籠統(tǒng)的名詞來作為全局變量,比如color,建議直接是用色值的描述,比如$orange: #ff9900,這使得我們在維護(hù)上更方便擴(kuò)展,如果色值需要修改,但是又不是所有的地方都需要修改,那么我們可以新定義一個變量來擴(kuò)展它,比如$red: red。

            這些點(diǎn)說起來都有點(diǎn)飄忽,事實(shí)上也確實(shí)很難說明白為什么要這么做,畢竟都是經(jīng)驗(yàn)總結(jié),所以大家不妨先熟悉使用sass一段時間之后,再來細(xì)細(xì)思考這些問題。

            注意,以上講的這些都不是死規(guī)定,在某些時候,這個規(guī)范是需要根據(jù)實(shí)際項(xiàng)目而做調(diào)整的,就比如我們之后要講到的SPA。十全十美的項(xiàng)目是不存在的,也不存在能適用所有項(xiàng)目的開發(fā)模式,因地制宜才能更好地解決問題。而且我們目前提到的問題都不是致命的,致命的問題在上一節(jié)我們制定規(guī)范的時候已經(jīng)避開了。

            調(diào)用模塊

            問題,在哪里調(diào)用模塊?

            答,頁面scss。

            在頁面scss中調(diào)用模塊是一個好習(xí)慣,它使得我們在每個頁面所用到的模塊既是一致的又是互相隔離的,不像在common中直接引用模塊那樣,使得一個頁面scss還沒有內(nèi)容的時候就已經(jīng)被很多模塊名污染了。

            再提個問題,在頁面scss的哪里調(diào)用模塊?

            例一,根類外:

            // index.scss

            @import './common';

            @import './mixin';

            @include m-nav;

            @include m-news;

            @include m-copy_right;

            .g-index {

            ...

            }

            例二,根類內(nèi):

            // index.scss

            @import './common';

            @import './mixin';

            .g-index {

            @include m-nav;

            @include m-news;

            @include m-copy_right;

            ...

            }

            目前為止,這兩種方式都是可以的,至于我為什么用“目前為止”這個詞,那是因?yàn)槲覀兒竺鎸⒁v到的SPA,如果用例一的方式是有問題的。所以我比較鼓勵使用例二的方式。當(dāng)然,我說了,目前為止例一也是沒問題的。

            性能優(yōu)化

            目前為止,我們的模塊化工作已經(jīng)算是完成了,其實(shí)已經(jīng)可以收工了。不過我們還是可以稍微做一下優(yōu)化。

            1、緩存

            我們需要考慮一個問題:緩存。

            緩存是我們web開發(fā)中最常見的情況之一,很多時候我們都需要跟緩存打交道,特別是在做性能優(yōu)化的時候。

            一般來說,靜態(tài)資源在被加載到瀏覽器之后,瀏覽器會把它本地緩存下來,以便下次請求同個資源的時候可以快速響應(yīng),不需要再去遠(yuǎn)程服務(wù)器加載。

            我們就css來說,假設(shè)我們按照原來的方式,使用多個link去加載reset、bootstrap、common、index這幾個文件的話,這幾個文件都會被緩存下來,以使得下次再訪問這個頁面,這個頁面的加載速度會快很多。

            如果是從index頁面跳轉(zhuǎn)到about頁面呢?你會發(fā)現(xiàn)也很快,因?yàn)閍bout頁面的全局css(reset、bootstrap、common)和index頁面是一樣的,而它們在你訪問index的時候,已經(jīng)加載過了,得益于緩存的作用,之后的頁面打開都快。

            我們現(xiàn)在的方式是,一個頁面所用到的所有css文件都被合并成一個,也就不存在相同的文件可以利用緩存這樣的優(yōu)勢了。

            那我們有辦法改進(jìn)嗎?有的!我們只需要把common獨(dú)立出來,那么common就可以做為被緩存的公共文件了。最終我們從一個頁面只引用一個文件變成了一個頁面引用兩個文件,即common和頁面css:

            // common.scss

            @import './reset';

            @import './bootstrap.min';

            @import './mixin';

            // index.scss

            @import './mixin';

            .g-index {

            ...

            }

            注意,不同于之前,我們這里的index.scss不再引入common.scss,所以我們最終是得到了兩個css文件,而common.css是在所有頁面中通過link標(biāo)簽引入的。

            如此一來,我們就實(shí)現(xiàn)了既能夠合并文件,減少請求數(shù),又可以利用緩存,提高加載速度。

            2、壓縮

            代碼壓縮是優(yōu)化工作中最基本的一步,css的壓縮空間是很大的,尤其是我們這種 垂直的書寫方式 ,壓縮起來是相當(dāng)高效的。

            在sass中這很簡單,sass在編譯的時候提供了幾種模式,其中的compressed模式是最高效的壓縮模式,記得在編譯打包的時候選擇compressed模式就行了。

            總結(jié)

            總的來說,預(yù)處理語言在使我們編程更加美好的同時,也使得規(guī)范更加的完善。在css本身無法實(shí)現(xiàn)的情況下,我們通過工具來完成了模塊化開發(fā)。

          【CSS預(yù)處理語言的模塊化實(shí)踐實(shí)例】相關(guān)文章:

          jquery獲取css中的選擇器用法實(shí)例講解10-05

          CSS實(shí)用教程:CSS命名10-05

          div+css必看的css重則06-27

          css 書寫技巧 CSS 技巧教程簡介07-02

          jQuery css方法動態(tài)修改CSS屬性07-06

          css的基本語法07-16

          css基礎(chǔ)教程之CSS基礎(chǔ)語法欣賞08-22

          CSS制作教程08-11

          css屬性定位教程07-23

          CSS入門教程09-05

          主站蜘蛛池模板: 激战运钞车国语| 姐妹瑜伽| 当我飞奔向你在线观看| 夏天全集在线观看免费| 美丽的蜜桃5视频| 女朋友妈妈双字id免费| 小夫妻时代全集观看| 大江大河2免费完整版在线观看| 我的阿勒泰结局| 哪吒之魔王降世2| 法国空乘15在线看免费版| 《大胸女友》免费观看| 狐妖小红娘电视剧免费观看完整版| 《义子侵犯》松下纱荣子| 干柴烈火2免费观看电视剧| 神探高伦布大结局| 替夫还债女律师免费观看完整版| 欢乐喜剧人第二季| 女儿需要爸爸的播种的种子视频免费观看 | 泰剧《与爱同居2》| 春雨绵绵妻独睡| 牛鞭擦女人| 鹰隼大队电视剧| 关上最后的门未增删樱花| 儿媳妇变成花痴第二季剧情简介| 萌宝寻爹:妈咪快跑全集免费| 玉城麻衣| 指甲刀人魔| 问心电视剧免费观看完整版| 丰满的继牳小早川怜子| 永不磨灭的番号电视剧| 真假千金互换:人生逆袭短剧全集| 《漂亮的女邻居》三级| 大黑鸡巴干美女高清免费观看| 高压监狱1法国电影完整版| 李娟就董宇辉一坨赞美发声明| 赌侠大战拉斯维加斯| 美味快递员特殊待遇| 时光代理人第四集| 和老板在办公室BD| 芮城县| 《夕颜》动漫全集在线观看完整版中| 草莓在线观看高清电视剧| 亲爱的热爱的| 说出你的故事欧弟| 老公的部下是初恋| 陪你一起长大电视剧| 情靡全集免费观看| 情到深处 马健涛| 娇妻趴跪着掀裙子光屁股姜罚| 熟睡中被义子中出6次在线观看| 奇门遁甲2017在线观看 | 爱情公寓 第三季| 《法国航空3》电影| 上书房电视剧| 唐人街探案1900在线观看| 我年轻瘦子的8| 幸福归来电视剧免费观看完整版 | 奇妙萌可第一季| 用一生去爱你电视剧| 下一个奇迹百度影音| 做aj的电视在线观看免费大陆| 喜羊羊与灰太狼之飞马奇遇记| 半夏电视剧免费观看全集剧情| 需要爸爸剥种子。| 侏罗纪世界3电影完整版免费观看| 绝密押运优酷| 金银悔1-10集免费观看西瓜视频| 中国母亲电视剧| 安徽卫视回放| 永不退缩3完整版| 姐妹牙医赤板栗完整版在线播放免费 | 电影《默杀》免费观看高清版| 好姑娘3中文在线观看| 《色诱女教师》在线| 温柔的背后吻戏| 酒店1~50集在线观看| 日本美女免费电影视频| 西西里的美丽传说| 盲井全集免费观看完整版| 天赐的声音第5季综艺| 老杨解说| 蓝田县| 职员到老板:打工人全集免费| 黑名单上的人全集免费观看| 电影豪放女大兵BD播放| 我的三个母亲全集| 6680电视剧免费观看| 爱上特种兵全集| 邵氏《金莲外传》中文在线观看| 国家地理频道| 刀郎新专辑2023| 电影《瓜达卢佩的玫瑰》| 广西阿金哥今天| 甲午风云电影| 种鬼电影| 最美丽的第七天| 李洛夫奇案| 爱唯侦查新片合集免费观看2023年| 永吉县| 家庭教师剧场版国语| 全境封锁电影完整| 《交换别人的麦子3》的剧情简介是什 | 金瓶悔1一5集免费| 开膛手杰克 电影| 书生中学成绩查询| 摆渡人电影| 搜救官| 情深深雨蒙蒙36| 唐砖电视剧完整版| 无声谎言短剧免费观看| 《麦乐迪女超人》|麦乐迪| 灿烂人生2韩剧| 金瓶盖2019电影完整版| xl司令动漫第一季无马全集在线观看完整版 | 圣诞节会下雪吗剧情介绍| 我的漂亮小瘦子3免费| 失恋33天mp4高清下载| 阿b哥的一天全集| 流星花园2高清| 我爱张宝利国语版全集| 工藤拉拉免费| 女兵排电视剧全集| 乌克兰国土面积与人口| 饥饿的阿姆6高清版下载 | 《凶器》| 韩剧《我的瑜伽教练》免费观| 小卖部开悬崖上| 篠田あゆみ| 《乡情》罗丽·星克莱尔主演的| 《搜索》| 默杀在线观看免费版| 壮志凌云2011凯登版在线观看| 电影红灯区| 新济公活佛 电视剧| 《私人女性监狱》免费观看在线播放_HD/1080P/无删减_高清完整版电影 - 星辰影 | 美国式禁忌保罗一家第三集| 高清《灭火宝贝(高压监狱)》| 笑林小子3| 甜美的咬痕动漫剧| 特殊美容师待遇电影| 《男按摩师做乳房按摩》在线观看视 | 丹麦电影《祖母情日记》| 女护卫队电影免费播放2023年上映时间| 大侦探拾光季| 重庆最美女孩原视频| 高清DTF圣路易日记未删减| 人儿何处归全集| 电影巜商务旅行戴绿色帽的演员表| 谍影重重1电影| 女保险公司推销员4 | 切尔诺贝利日记| 电视剧22条婚规| 女版《壮志凌云》免费| 麦迪时刻35秒13分高清| 人猿泰山电影| 圣母在上ova| 不要见怪电影| 女律师替夫还债电影| 禁止的爱:善良的小峓在钱| 桂宝全集| 好事成双电视剧免费| 需要爸爸播种伦理电影| 美国禁忌症结局3| 赛尔维亚| 榆林电视台| 星克莱尔的《第一夫人》| 斗罗大陆全集免费观看完整版动漫 | 我们都要好好的免费版电视剧下载| 曼乐迪女超人在线看| 李云迪为什么嫖娼| 赛尔号大电影6圣者无敌| 战争之暴行女囚观看| 韩剧 你是我的命运| 心动的信号第七季免费观看| 拉贝日记百度影音| 美国大选 直播| 法国版《女超人:麦乐迪》在线观看| 暗红1936高清全集| 我的亲爱的瘦子8| 艾克赛德免费观看全集日语版超高清| 天海翼短发女教师 | 凹凸影视| 小生怕怕粤语| 瞒天过海:美人计| 我和我的传奇| 男人女人愁愁愁免费观看| 《我的初恋不可能是姐姐》| 色诱修理工在线看 | 马上天下| 大岛由加利电影全集| 灭火宝贝2凯登克劳斯结局| 独臂刀王| 站着再来一次最新一集免费| 《失控第一季》| 电影《女性治疗营》| 《我老公的朋友2》| 完美星球纪录片免费观看中文版| 三民主义歌| 《好久不见》韩剧在线观看| xl司令动漫第一季无马全集在线观看完整版| 大村官之放飞梦想 电视剧| 做aj的电视剧高清大全| 电视剧狂飙全集在线观看| 勇敢的心直播| 国家宝藏1高清| 电视剧水上游击队| 杨敏思83版电视剧| 幸福最晴天mp4下载| 韩国电视剧漂亮女孩| 战狼9欧式少女在哪看| 断奶电视剧全集在线观看| 战狼六欧式少女| 房探007登录| 《部长夫人的美貌》电影在线观看| 燃烧的玫瑰| 盛宴电视剧| 觉醒2012| 李黎跳芭蕾舞视频| 宣城市| 漂亮女人免费观看版| 《被可怕的科长欺负的新人| 成何体统| 招待外卖员电影| 校园女大兵 电视剧| 渔夫荒淫史无删减版 | 美丽的姑娘完整版| 花垣县| 精灵幻想记| JUL945丈夫不在| 致命对决 电影| 法国少女农场最漂亮女主角| 电影《金悔瓶》高清完整版免费| 免费观看甜蜜惩罚| 地味变动漫在线免费观看| 刑侦12在线观看粤语版| 庆余年电视剧免费播放| 人渣的本愿在线看观看| 人猿泰山1995版中文版| 釜山行2在线观看免费观看完整版| 正在播放: 【传媒】MDSR0006-2 《小凤新婚》下集-高冷新妻性奴 - 91n | 黑寡妇的电影| 黑白禁区电视剧免费观看完整版| 洪真英电影在线观看免费| 造梦西游2地煞权杖 | 油菜花香电视剧全集| おにいちゃんのため在线| 孤注一掷在线观看高清免费张艺兴| 恋爱恶魔| 对你的想象高能片段| 派克式左轮| 电影《美容院的特殊待遇》纹身女演| 韩国男生女生愁愁愁电视剧在线观看| 21世纪爱情指南在线播放| 建党伟业在线观看完整版| 地狱护士另一个版本电影叫啥| 高清《美丽小蜜桃》1| 雪中悍刀行1-38全集| 黎平县| 剑神林峰1-100集免费看| 法国空乘5在线看免费高清全集| 新少年包拯电视剧免费观看| 姐妹牙医电影在线看的免费版高清| 年轻的小瘦子5| 蓝色隐形帽在线观看免费高清| 《修理工的艳遇电影| 西部狂野满天星哪里可以看| 维修空调电影| 11分钟模拟成结动画在线观看免费| 如懿传1-87集在线观看| 小敏家42集在线观看| 石家庄市| 超神学院第二集| 大兵的寝室电影完整版| 梦回鹿鼎记完整版| 康熙谈靘谭1992年| 灯草和尚2完整版普通话| 罗娜言情录| 漂亮的保姆韩国电影免费看| 韩国电影2018最新r级| 一代皇后大玉儿| 妈妈再爱我一次电影下载| 酒店第1-100集全集观看| 华为见非凡品牌盛典| 义姐是不是良喂养1-3集动漫在哪| 快色视频在线观看| 我的漂亮的小瘦子3剧情介绍| 高清《奇迹》克劳| 袁人泰山H5| 苍井空电影网| 2对1:三人一次性体检在线观看中文字| 速7片尾曲| 女超人麦乐迪在线完整版2013| 头文字d动画| 不可告人电影在线观看免费全集| 福音战士新剧场版终| 大鳄无形| 凯登克罗斯电影 在线观看| 亲密有罪下载| 致命小丑在线观看免费高清国语| 流光之下45集免费观看| XXXX美国| 夺粮剿匪记全集| 售楼女销售2| 大宋少年志2结局| 灭火宝贝满天星法版免费壮志凌云在线观看| 碟中谍5蓝光在线播放完整| 隔离七日晴| 电视剧非常有喜| 超越界限的爱| 电影孤岛惊魂| 高清危情蜻蜓未删减| 妈妈的学生5字ID| 加油吧实习生演员表| 别去地下室(满天星)| 蜜桃成熟时1997百度影音| 三年中国高清免费播放| 江照黎明| 酒店1-90集免费观看中文| 女教师波多野结衣在线播放| 《厨房激战2》中文版| 盛李豪全红婵合体打羽毛球| 微微一笑很倾城剧情介绍| 五福临门 电视剧 免费看| 我要看熊出没之| 高清《婚前试爱》罗仲谦周秀娜| 功夫厨神| 无人区在线观看免费版| 大锅饭养懒汉| 陈情令电视剧完整版免费播放| 45gtv| 邯郸大学教室门| 绝望写手 第五季| 泰国三级激夜完整版| 《索命舞娘》| 欧洲N00N兽交剧| 哈利波特3普通话| 宫锁连城电视剧免费观看完整版| 小猪佩奇全集免费观看连续播放| 洋洋爱护你| 盲井电影| 庄生梦蝶| 一人之下第六季在线观看| 黑帮老大哥我的365天在| 韩剧《我的女朋友》| 鸡蛋花的作用| 高清《打蛇》电影在线观看| 乾隆大帝粤语| 打脸拜金女全集免费| 平西王是谁| 甄嬛传免费版在线观看完整版| 马思纯的微笑| 星游记全集| 韩剧玻璃之城国语版| 加油吧!中村君!!未删减| 《需要爸爸播种美国》| 缘之空第11集| 不良义姐电影| 还珠格格新| 《品味人生》在线观看完整版高清| 赤井美月| 八尺夫人在线观看| 不屈的儿媳国语版全集| 21世纪爱情指南免费看在线| 宋小宝看病| 亲爱的热爱的| 围城之九龙城寨免费观看| 顿悟之白骨美人心| 电影赶尸艳谈| 奔跑吧黄河篇第二季在线观看| 《玄女心经1》免费观看| 女虐电影| 《姐姐真漂亮》中韩歌词| 爱情睡醒了21| 法国空乘5免费高清原声满天星美陌版 | 同学3| 1500美元等于多少人民币| 义子乱的电影在线观看| 乞丐王子央视版全集| 失恋33天mp4下载| 金花瓶1999| 鲜花盛开的山村电视剧免费观看| 功夫梦:融合之道未删减| 星梦缘优酷| 初次见面4秒就合体| 公下爱丽丝| 刚结婚陪部长出差的日剧叫什么 | 在异世界迷宫开宫| 爱唯侦察DVD| 《满天星辰》免费观看| 舟山市| 欧式少女全集高清版观看视频在线| 一品大天师短剧免费观看| 战狼6老姨免费观看全集高清| 特殊美容院5在线观看| 秘密女搜查官在线观看免费全集| 状王宋世杰2粤语| 法国空乘13完整版| 谍海追踪| 重燃人生短剧免费观看| 撒贝宁原名叫啥| 龙骑假面骑士电影| 纸牌屋第二季 搜狐| 小爸爸电视剧插曲| 出轨的女人电影完整免费观看| 死神来了3完整版| 做aj电视剧免费观看美国 | 魔界王子第二季| 和讨厌的部长一起去出差遇大雨在线| 亲爱的吾兄免费观看完整版电视剧 | 周家日常1v2林楠| 世界机械舞王| 法国版《女超人:麦乐迪》电影在线播 | 趾高气扬造句| 少女免费高清在线观看| 缭乱的裸舞曲 迅雷下载| 绝代双骄在线观看免费| 王牌对王牌第九季免费观看完整版 | 浅井舞香的电影| 向连仓士献上纯洁| 地心历险记2神秘岛在线观看| 杀手之王 美剧| 和讨厌的部长去出差旅| 绝密押运优酷| 私人岛屿电影| 毒医嫡女:下毒医术超精通全集免费 | 掌中雀电视剧在线观看全集免费| 终极审判第二季| 柏林的女人无删减在线观看| 哪吒一免费播放完整版| 女儿需要爸爸的播种的种子视频免费观看 | 朴雅珍《隐身帽》在线| 青春草视频在线观看| 韩国三级《下属的妻子| 我爱男保姆全集下载| 《四个混血大学生》完整版中文| 年轻善良的子3| 天海翼女教师在线播放| 重生之锦绣嫡女短剧全集| 朴诗妍《爱的释放》电视剧在线观看| 埃尔多安紧握马克龙中指不放| 超星神国语全集| 魔界之龙珠下载| 万物生灵:2025圣诞特别集| 内衣公司动漫第4集| 《房奴试爱》截取了一段开头| 土地公土地婆全集| 我们民谣2022| 小神八不可怕电视剧| 迷雾重重下载| overflower第一季无删减在线观看 | 人工少女3服装存档| 站着再来一次| 甜蜜蜜电视剧全集| 决胜时刻电影在线播放| 癫凤狂龙| 吻到停不下来| 售楼小姐的秘密 在线播放电影| 被害女大学生男友多次演练杀害计划 | 她在丈夫面前被搬运工耍了| 无人区电影完整版| 甄嬛传土豆| 我和我们在一起电视剧免费观看| 陆战之王全集在线观看| 侯玉洁牧师讲道全集1| 穿越医妃:医术惊世短剧全集| 贝尔法斯特天堂路全集观看 | 暴躁老妈1-46集全集免费播放 | 男生女生一起努力愁愁电视剧免费| 我的妻子和女儿| 插曲的痛第60集全集在线播放免费观看 | 高清当哒当:邪视| 红领章电视剧免费播放| 厨房激战6| 《我不是戏神》第一季在线观看全集 | 铠甲勇士刑天29| 慢性呕吐实验室 下载| 我最好朋友的女朋友| 漂亮的小姨韩剧| 中国百强名镇| 一对一播放| 家用摄像头| 胸肌撕裂者| 下属的妻子电影| 长江七号电影免费完整版在线观看| 致命玩笑3| 坚不可摧电影| 韩剧国语版面包大王| 《女销售员的销售秘密》 | 电影《孽缘情迷》在线观看 | 灭火宝贝法版免费法国满天星| 巡回检察组43全集在线观看星辰 | 《沧元图》58| 私人女姓监狱| 时光与你都很甜电视剧免费| 一起看流星雨全集| 韩剧 为人民的服务| 新水浒传高清| 华丽的外出手机在线完整| 大笑江湖优酷| 玉米妹妹| 《丈夫叫妻子陪上司睡HD| 电视剧一言为定| 电影美容院的特殊待遇| 冷宫废后太后:逆袭登顶短剧全集| 北京四少| 美味快递员特殊待遇2在线观看免费高清| 黑帮大佬和我的365天在线观看| 金银瓶1-5hd普通版日本| 微电影上位| 第一滴血5 国语版| 邢台属于几线城市| 法国空姐2019满天星法版:星辉照耀版| 死神480| 年轻的母亲韩国在线| 李采潭主演的电影在线视频播放| 狂暴飞车144分钟完整免费版| 张警官三部曲观看免费版全集视频| 年轻丰满的继母3免费| 蛮好人生免费看看| 我和我的家乡免费高清完整版 | 炫迪传奇全集播放| 主君的太阳| 假面骑士龙骑美版| 私人女护士| 《零度暧昧》免费全集| 再见18班在线观看免费版| 钢铁侠三免费观看高清完整版| 黑暗计划2012美国电影| 我出生在伊朗| 插曲的痛中文版| 达尔文事变全集观看| 黄真伊在线观看韩剧网电视剧| 巡视组回应国企领导疑出差带小三 | 加利福尼亚山谷女孩们| 舞乐传奇 电视剧| 大男当婚全集下载| 八尺夫人意大利原版在线播放| 银魂262| 大牛影库战狼6免费观看| 鼓楼外42集大结局| 银河护卫队圣诞特别篇| 部长来家做客中文字幕在线观看| 昭和女子物语1-4集| 爱我多深删掉的镜头| 辽视春晚宋小宝| 大神与七个伙伴| 吴健的农民伯伯第二部| 江湖兄弟电视剧| 蜜丽娅番号| 除却巫山| 中医经筋捆扎疗法视频| 保罗雪莉一家免费| 张卫星何赛文| 刘德华评价罗刹海市| 消失的十一层免费观看| 青春失乐园2完整版| 日本维修工人的艳遇5免费| 百团大战 电影| 鲛珠传在线观看| 水仙花开电影| 肉蔻之香1意大利| 落魄贵族琉璃动漫免费观看全集| 武警特警电视剧| 古墓丽影(法国版)女版播放 | 好姑娘中文在线观看| 酒店1~50集免费观看| 非杀人小说| 绝夜潜行| 坎贝奇品味人生| 卧底 电视剧| 朝鲜金雪美| 男童虐杀3只奶猫后续| 神澜奇域无双珠动漫在线观看| 一边面膜敷53分钟日本| 仙帝奶爸:萌宝找妈咪短剧全集| 画皮2电影| 簧色电影| 八星报喜杨幂版| 列兵大学生| 激情纵林| 梦幻西游服战直播| 白雪公主后妈| 疯魔神丐苏乞儿| 海豚寄宿学园在线观看完整版| 双女任务在线| 你好杀人犯| 斗罗大陆2绝世唐门动态动漫| 真相电视剧在线观看完整版 | 美景之屋2销售的秘密| 战狼2电影观看| 护士的夏天| 《冰之城墙》| 印度合伙人| 真破血免费高清观看完整版| 酒店1-50集全集免费观看高清 | 幸运库克| 高清《复仇轮回》电影| 《爸爸种子2》电影| 古墓丽影1高清| 变形金刚四| 美乃雀 在线观看| 阴阳少女:见鬼捉鬼全集免费 | 欧美电影免费观看高清| 筐出未来| 鲁佩的玫瑰免费观看| 青春娱乐网国产在线| 恋空在线观看| 僵尸道长第一部| 瞬息全宇宙| 渔夫荒野史| 八角笼中在线电影免费正规| 我在开会他在下添好爽在线视频| 倔强驱魔师1-4集免费观看下载| 新猛龙过江 电视剧| 黑帮大佬和我的365日在线观看| 三年高清观看免费大全一| 新金瓶梅龚玥菲版下载| 《好好的时光》| 激战厨房4美国| 灵与肉电视剧33集| 好妈妈6在线| 韩国男按摩师吸乳房电影| 家族荣誉4国语| 釜山行2在哪里可以看| 苍井空 厨房里的激战| 凶猛的办公室日本动漫电影 | 麦乐迪家庭矛盾完整版在线观看| 人形少女 快播| 高清《在你被判死刑之前》电视剧 | 潜伏40集免费版播放| 总统夫人的夜晚在线观看全集 | 真人行爱图片| 十八岁的天空第二部| 龙卷风优化| 三农资本| 一路向西迅雷种子| 沧元图第一季免费全集在线观看| 东莞市| 电影天赐| 金钱帝国 电影| 艺校女生2| 美丽小蜜桃5免费播放全集电视剧| 凶猛的办公室| 死神来了5百度影音| 乡村爱情6全集| 歌曲《母鸡咯咯哒》| 好男儿之情感护理| 上海大学生周末兼职 | 监狱高压2法版免费| 牵我的手| 3根一起会坏掉的好疼| 杰西.简壮志凌云| 猛犸敢死队2| 报歉沈先生孩子不是你的短剧大结局 | 交换游戏2中国话| 妈妈的学生5字id| 俑之城在线观看免费完整版高清| 爱我几何电视剧免费观看完整版高清| 真相电视剧在线观看完整版免费| 豪门少奶:日子难熬全集免费| 渔夫的荒野史记完整版在线观看| 幸福到万家免费观看| 超级教师| 漂亮妈妈7巴中字开头谢文安导演| 彼岸灯塔| 杨紫刘雨昕同台| 《酋长的女儿》完整版| 2kill4| 公的之浮之手| 《法官李汉英》| 人猿泰山hr版 1995| 《私藏浪漫》| 《售楼小姐》1的秘密| 电锯惊魂全集| 光战队覆面人国语版| 真咲惠美| 青春 裴斗娜版| 《一代女皇》高清| 金珠同学聚会| 冷血人狼完整版| 吉普赛女王| 女保险推销员5中字| 我是谁电视剧36集完整版| 丰满年轻岳每3| 法国满天星《贵夫人》在线看| 《扫黑风暴》电视剧| 欢迎来到实力主义至上教室| 人猿泰山真人版1995年| 上海一家人主题曲| 苍井空百度云视频分享| 麻花传剧夏晴子高清下载百度网盘| 两个人日本免费完整版高清中文| 白蛇传说在线观看| 刻晴大战史莱姆免费观看| 白马少年| 公寓 电影| 白峰美羽电影在线观看| 假面骑士blade| 正者无敌下载| 淫之方程式在线免费观看| juy一747青木玲在线观看| 打工仔的梦想房| 电影《女子护卫队》在线观看免费| 史上最强太子爷短剧全集| 监狱风云2国语| 《倾国倾城》| 《新人类之毒医肥尸2》在线播放| 中国电影免费高清观看| 留在我身边 青山黛玛| 被部长玩弄的女秘书在线观看| 沈阳现万米丁达尔效应| 冬暖花会开全集在线观看| 私人航空电影免费观看完整版在线播放 | 免费热门总裁短剧| 紫钗奇缘大结局| 哈尔滨漫展麻衣学姐| 日本厨房激情| 少年日记| 戏说台湾全集| 《女销售员:满天星》电影简介 | 法国空姐| 花开莱州| 奈何boss要娶我2| 球球大作战米修斯| 法国空乘5免费高清原声满天星美陌版| 激情丛琳| 大秦帝国之裂变电视剧| 欧式少女全集观看| 深田梨菜| 地下婴儿乐队| 血战到底全集| 爸爸要播种子美国电视剧禁忌| 转世传说| 以吾之名在线观看| 公浮手中字8| 向爱而生全集免费播放视频| 如懿传高清| 酒店1-75集免费观看| 祥仔视觉| 我的相亲对象是消防员第二季| 电影野性的呼唤巴克犬完整版| 娃娃脸5完整版| 丹麦男孩电影| 尼泊尔新纸币激怒印度| 销售的销售秘密2HD中字| 特种兵之火凤凰44| 731部队高清免费观看| 《棋魂》电影免费播放| 加勒比女海盗在线观看| 我是黑社会台词| 电影猩猩王| 白山市| 法国护士长免费在线观看| 丧尸军团在线观看免费| 街球过人教学| 《激战丛林》意大利版在线观看中文| 高清《判处勇者刑》电视剧 | 电影749局免费观看全集| 好姑娘中文在线观看| 一起愁愁免费观看在线播放 | 忍者乱太郎粤语版| 冷宫娘娘有喜啦| 女神降临免费观看全集| 水电维修工的艳遇电影| 地下偶像未删减版动画观看免费| 新雌雄大盗| 满天星版《荒岛女儿国》在线观看 | 1986《牙医姐妹》电影完整版| 漂亮的保姆五完整版免费| 龚《新金梅》| 猎人电视剧| 苍老师100部经典电视剧免费观看| 呼吸过度在线观看完整| 且试天下第45集全集免费| 落叶归根百度影音| 坎贝奇《无憾》免费完整观看 | 《九重紫》电视剧| 交换上司的秘书在线观看| 与君歌免费观看完整版电视剧全集| 西施成人版| 西游记86版高清| 电影《屠宰森林》原版| 女神枪手电视剧全集| 郑州换纱窗| 丝袜qvod| 《丈夫面前被搬工人欺负的电影》全| 唱歌的大姐姐第二季免费观看| 折腰在线全集免费观看| 辛福爱人| 《险恶的绣感》亮点在| 魔法老师下载| 赵本山新电视剧鹊刀门传奇| 扫黑风暴在线观看免费完整版策驰 | 李洛夫奇案| 西行纪5季免费观看樱花| 爱唯侦察2024年最新合集| 高清《希望的大地》电视剧| 灵域第四季| 胶州市| 雪平利左电影免费播放西瓜视频| 鬼2动漫全集在线观看 中文版| 鬼女之家全集观看| 爸爸的种子| 美国式保罗4| 电视剧北京青年全集| 开放性成人交友网站 | 电视剧成吉思汗| 49ai| 公的浮之手中字电影完整版| 地球最末日| 烬相思 电视剧| 始作俑者的意思| 《公的浮之手中字》免费中国电影| 太子妃武:武林高手完整版观看| 超人未删减| 情人别我伤心哭泣| 美国禁忌结局- 5芭芭拉| 红罂粟第三部| 大鲨鱼电影| 红高粱全集免费| 越南〈性暴行〉电影| 公交车上的那些事免费看中文| 一战再战全集观看| 变形金刚故事| 电影《美容院的特殊待遇》纹身男演| 《需要爸爸播种》在线播放 | 后宫露营第一季未增减0.0.0.对应第2集 | 壮志凌云成人版在线观看| 生死劫电视剧| 赖猫的狮子倒影大结局| 寻找刘三姐| 黑色的眼泪| 《无颜之月》完整版在线播放| 王君安越剧名段欣赏| 《现在的是哪一个多闻! ?》| 秋瓷炫《生死决断》哪分钟出场 | 法国私人航空电影| 《驯服小峓子2》| 儿歌多多| 狐妖小红娘无暮篇免费观看| 《和讨厌的部长出差旅》| 她在丈夫面前被耍了搬运工| 《深情眼》全集免费观看| 斗破苍穹年番| 需要爸爸的播种在线观看 | 女子特案组全集| 年轻的瘦子5| 任达华温碧霞电影| 亲爱的完整版免费观看| 电视剧长安十二时辰|