亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 開發(fā) > CSS > 正文

CSS預(yù)處理器Sass詳解

2024-07-11 09:07:59
字體:
供稿:網(wǎng)友

Sass 是一款強(qiáng)化 CSS 的輔助工具,它在 CSS 語法的基礎(chǔ)上增加了變量 (variables)、嵌套 (nested rules)、混合 (mixins)、導(dǎo)入 (inline imports) 等高級(jí)功能,這些拓展令 CSS 更加強(qiáng)大與優(yōu)雅。使用 Sass 以及 Sass 的樣式庫(kù)(如 Compass)有助于更好地組織管理樣式文件,以及更高效地開發(fā)項(xiàng)目。

1. 特色功能

  1. 完全兼容 CSS3
  2. 在 CSS 基礎(chǔ)上增加變量、嵌套 (nesting)、混合 (mixins) 等功能
  3. 通過函數(shù)進(jìn)行顏色值與屬性值的運(yùn)算
  4. 提供控制指令 (control directives)等高級(jí)功能
  5. 自定義輸出格式

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

//文件后綴名為sass的語法body  background: #eee  font-size:12pxp  background: #0982c1//文件后綴名為scss的語法  body {  background: #eee;  font-size:12px;}p{  background: #0982c1;}

2. Sass、Less語法比較

2.1 Sass與Less不同之處

  1. 編譯環(huán)境不一樣——Sass基于Ruby等服務(wù)器端環(huán)境編譯,Less既可以支持服務(wù)器端編譯也可在客戶端(瀏覽器環(huán)境)編譯
  2. 變量符不一樣——Sass使用$符號(hào)聲明變量,Less使用@符號(hào)聲明變量
  3. 對(duì)于條件語句的支持不一樣——Sass支持復(fù)雜的條件語句(類似于if..else..),Less僅支持簡(jiǎn)單的條件語句(類似于if()..)
  4. 作用域——Sass局部修改變量可影響全局變量,Less則只會(huì)在局部作用域生效。
  5. 引用外部CSS文件方式不同——Sass默認(rèn)引入.sass或.scss文件時(shí)可忽略后綴,Less則需要通過關(guān)鍵字配置來控制引入文件如何處理。

2.2 Sass與Less相似的地方

  1. 混入(Mixins)——類似于函數(shù)或者宏,并且可以傳遞參數(shù);
  2. 嵌套規(guī)則——class中嵌套class,從而減少重復(fù)的代碼;
  3. 運(yùn)算——CSS中運(yùn)用加減乘除計(jì)算各種數(shù)值以及字符串等;
  4. 顏色功能——可以通過內(nèi)置函數(shù)編輯顏色;
  5. 命名空間(namespace)——分組樣式,從而可以被調(diào)用;
     

3. Sass語法主要功能介紹

3.1 CSS功能擴(kuò)展

嵌套規(guī)則

Sass 允許將一套 CSS 樣式嵌套進(jìn)另一套樣式中,內(nèi)層的樣式將它外層的選擇器作為父選擇器,嵌套功能避免了重復(fù)輸入父選擇器,而且令復(fù)雜的 CSS 結(jié)構(gòu)更易于管理,例如:

//sass style or less style#main p {  color: #00ff00;  width: 97%;  .redbox {    background-color: #ff0000;    color: #000000;  }}//css style#main p {color: #00ff00;width: 97%; }#main p .redbox {  background-color: #ff0000;  color: #000000; }

父選擇器 &

在嵌套 CSS 規(guī)則時(shí),有時(shí)也需要直接使用嵌套外層的父選擇器,例如,當(dāng)給某個(gè)元素設(shè)定 hover 樣式時(shí),或者當(dāng) body 元素有某個(gè) classname 時(shí),可以用 & 代表嵌套規(guī)則外層的父選擇器。

//sass style or less stylea {  font-weight: bold;  text-decoration: none;  &:hover { text-decoration: underline; }  body.firefox & { font-weight: normal; }}//css stylea {font-weight: bold;text-decoration: none; }a:hover {  text-decoration: underline; }body.firefox a {  font-weight: normal; }

屬性嵌套

有些 CSS 屬性遵循相同的命名空間 (namespace),比如 font-family, font-size, font-weight 都以 font 作為屬性的命名空間。為了便于管理這樣的屬性,同時(shí)也為了避免了重復(fù)輸入,Sass 允許將屬性嵌套在命名空間中,例如:

//sass style.funky {  font: {    family: fantasy;    size: 30em;    weight: bold;  }}//css style.funky {  font-family: fantasy;  font-size: 30em;  font-weight: bold; }

命名空間也可以包含自己的屬性值,例如:

//sass style.funky {  font: 20px/24px {    family: fantasy;    weight: bold;  }}//css style.funky {  font: 20px/24px;    font-family: fantasy;    font-weight: bold; }

3.2導(dǎo)入

sass的導(dǎo)入(@import)規(guī)則和CSS的有所不同,編譯時(shí)會(huì)將@import的scss文件合并進(jìn)來只生成一個(gè)CSS文件。但是如果你在sass文件中導(dǎo)入css文件如 @import ‘reset.css’,那效果跟普通CSS導(dǎo)入樣式文件一樣,導(dǎo)入的css文件不會(huì)合并到編譯后的文件中,而是以 @import 方式存在。

所有的sass導(dǎo)入文件都可以忽略后綴名.scss。一般來說基礎(chǔ)的文件命名方法以_開頭,如_mixin.scss。這種文件在導(dǎo)入的時(shí)候可以不寫下劃線,可寫成@import “mixin”。

less的導(dǎo)入(@import)語法:@import (keyword) “filename”;

多個(gè)關(guān)鍵字 @import 是允許的,你必須使用逗號(hào)分隔關(guān)鍵字:example: @import (optional, reference) “foo.less”;

  1. reference: 使用該less文件但是不輸出它
  2. inline: 包括在源文件中輸出,但是不作處理
  3. less: 將該文件視為less文件,無論其擴(kuò)展名為什么
  4. css: 將文件視為css文件,無論擴(kuò)展名為什么
  5. once: 該文件僅可導(dǎo)入一次 (默認(rèn))
  6. multiple: 該文件可以多次導(dǎo)入
  7. optional: 當(dāng)沒有發(fā)現(xiàn)文件時(shí)仍然編譯

導(dǎo)入文件代碼示例:

/*被導(dǎo)入sass文件a.scss,less文件a.less:*///a.scss or a.less//-------------------------------body {  background: #eee;}/*需要導(dǎo)入樣式的sass文件b.scss,less文件b.less:*/@import "reset.css";@import "a";p{  background: #0982c1;}   /*轉(zhuǎn)譯出來的b.css樣式:*/@import "reset.css";body {  background: #eee;}p{  background: #0982c1;}

根據(jù)上面的代碼可以看出,b.scss編譯后,reset.css繼續(xù)保持import的方式,而a.scss則被整合進(jìn)來了。同理,less中也是這樣處理的。

3.3 注釋 /* */ 與 //

Sass 支持標(biāo)準(zhǔn)的 CSS 多行注釋 /* */,以及單行注釋 //,前者會(huì)被完整輸出到編譯后的 CSS 文件中,而后者則不會(huì)。Less中不用擔(dān)心這一點(diǎn),Less中多行注釋 /* */,以及單行注釋 //都可以隨意使用,都會(huì)在編譯過程中被保留。例如:

//sass style/* This comment is * several lines long. * since it uses the CSS comment syntax, * it will appear in the CSS output. */body { color: black; }// These comments are only one line long each.// They won't appear in the CSS output,// since they use the single-line comment syntax.a { color: green; }//css style/* This comment is * several lines long. * since it uses the CSS comment syntax, * it will appear in the CSS output. */body {  color: black; }a {  color: green; }

3.4 SassScript

變量 $

Sass的變量必須是$開頭,后面緊跟變量名,如果值后面加上!default則表示默認(rèn)值。Less的變量與Sass類似,只是使用符號(hào)不同,Less中采用的是@

//sass style//-------------------------------$fontSize: 12px;body{    font-size:$fontSize;}  //less style//-------------------------------@fontSize: 12px;body{    font-size:@fontSize;}//css style//-------------------------------body{    font-size:12px;}

變量默認(rèn)值

sass的默認(rèn)變量一般是用來設(shè)置默認(rèn)值,然后根據(jù)需求來覆蓋的,覆蓋的方式也很簡(jiǎn)單,只需要在使用默認(rèn)變量之前重新聲明下變量即可;默認(rèn)變量的價(jià)值在進(jìn)行組件化開發(fā)的時(shí)候會(huì)非常有用。

//sass style//-------------------------------$baseLineHeight:  1.5 !default;body{    line-height: $baseLineHeight; }//css style//-------------------------------body{    line-height:1.5;}/*覆蓋默認(rèn)值*///sass style//-------------------------------$baseLineHeight:  2;$baseLineHeight:  1.5 !default;body{    line-height: $baseLineHeight; }//css style//-------------------------------body{    line-height:2;}

變量 #{} 的使用形式

一般我們定義的變量都為屬性值,可直接使用,但是如果變量作為屬性或在某些特殊情況下等則必須要以#{$variables}形式使用。

//sass style//-------------------------------$borderDirection:    top !default; $baseFontSize:       12px !default;$baseLineHeight:     1.5 !default;//應(yīng)用于class和屬性.border-#{$borderDirection}{  border-#{$borderDirection}:1px solid #ccc;}//應(yīng)用于復(fù)雜的屬性值body{    font:#{$baseFontSize}/#{$baseLineHeight};}//css style//-------------------------------.border-top{  border-top:1px solid #ccc;}body {  font: 12px/1.5;}

多值變量 list

簡(jiǎn)單來說list類型有點(diǎn)像js中的數(shù)組。list數(shù)據(jù)可通過空格,逗號(hào)或小括號(hào)分隔多個(gè)值,可用nth($var,$index)取值。

關(guān)于list數(shù)據(jù)操作還有很多其他函數(shù)如length($list),join($list1,$list2,[$separator]),append($list,$value,[$separator])等

定義:

//一維數(shù)據(jù)$px: 5px 10px 20px 30px;//二維數(shù)據(jù),相當(dāng)于js中的二維數(shù)組$px: 5px 10px, 20px 30px;$px: (5px 10px) (20px 30px);

使用方法:

//sass style//-------------------------------$linkColor:  #08c #333 !default;//第一個(gè)值為默認(rèn)值,第二個(gè)鼠標(biāo)滑過值a{  color:nth($linkColor,1);  &:hover{    color:nth($linkColor,2);  }}//css style//-------------------------------a{  color:#08c;}a:hover{  color:#333;}

多值變量 map

簡(jiǎn)單來說map類型有點(diǎn)像es6語法中的map數(shù)據(jù)結(jié)構(gòu)。map數(shù)據(jù)以key和value成對(duì)出現(xiàn),其中value又可以是list。

格式為:$map: (key1: value1, key2: value2, key3: value3);可通過map-get($map,$key)取值。關(guān)于map數(shù)據(jù)還有很多其他函數(shù)如map-merge($map1,$map2),map-keys($map),map-values($map)等

定義:

$heading: (h1: 2em, h2: 1.5em, h3: 1.2em);

使用方法:

//sass style//-------------------------------$headings: (h1: 2em, h2: 1.5em, h3: 1.2em);@each $header, $size in $headings {  #{$header} {    font-size: $size;  }}//css style//-------------------------------h1 {  font-size: 2em; }h2 {  font-size: 1.5em; }h3 {  font-size: 1.2em; }

變量作用域

Sass和Less中的變量作用域分別類似與javascript中的兩種變量申明方式,下面一段代碼可以對(duì)比出變量聲明時(shí)的不同處理方式。

Sass中的變量賦值直接修改全局變量,Less中的變量賦值可只在局部生效。

//Sass style$color:red; p{   $color:blue;   color:$color;//blue } a{   color:$color;//blue }//Less style@color:red; p{   @color:blue;   color:@color;//blue } a{   color:@color;//red }

3.5 混合(mixin)

sass中使用@mixin聲明混合,可以傳遞參數(shù),也可以給參數(shù)設(shè)置默認(rèn)值。聲明的@mixin通過@include來調(diào)用;在less中只需要將定義好的class用類似函數(shù)的方式直接引用。

無參數(shù) mixin

//sass style@mixin center-block {    margin-left:auto;    margin-right:auto;}.demo{    @include center-block;}//less style.center-block {    margin-left:auto;    margin-right:auto;}.demo{    .center-block;}//css style.demo{    margin-left:auto;    margin-right:auto;}

有參數(shù) mixin

//sass style@mixin opacity($opacity:50) {  opacity: $opacity / 100;  filter: alpha(opacity=$opacity);}.opacity-80{  @include opacity(80); //傳遞參數(shù)}//less style.opacity(@opacity:50) {  opacity: @opacity / 100;  filter: alpha(opacity=@opacity);}.opacity-80{  .opacity(80); //傳遞參數(shù)}//css style.opacity-80{  opacity: .8;  filter: alpha(opacity=80);}

多個(gè)參數(shù) mixin

Sass調(diào)用時(shí)可直接傳入值,如@include傳入?yún)?shù)的個(gè)數(shù)小于@mixin定義參數(shù)的個(gè)數(shù),則按照順序表示,后面不足的使用默認(rèn)值,如不足的沒有默認(rèn)值則報(bào)錯(cuò)。除此之外還可以選擇性的傳入?yún)?shù),使用參數(shù)名與值同時(shí)傳入;Less中使用方法類似。

//sass style   @mixin horizontal-line($border:1px dashed #ccc, $padding:10px){    border-bottom:$border;    padding-top:$padding;    padding-bottom:$padding;  }.imgtext-h li{    @include horizontal-line(1px solid #ccc);}//less style.horizontal-line(@border:1px dashed #ccc, @padding:10px){    border-bottom:@border;    padding-top:@padding;    padding-bottom:@padding;  }.imgtext-h li{    .horizontal-line(1px solid #ccc);}//css style.imgtext-h li {    border-bottom: 1px solid #cccccc;    padding-top: 10px;    padding-bottom: 10px;}

多組值參數(shù) mixin

Sass中如果一個(gè)參數(shù)可以有多組值,如box-shadow、transition等,那么參數(shù)則需要在變量后加三個(gè)點(diǎn)表示,如$variables…;Less表示不定參數(shù)時(shí)可以直接使用 … 表示,并用@arguments表示所有參數(shù)

//sass style   //box-shadow可以有多組值,所以在變量參數(shù)后面添加...@mixin box-shadow($shadow...) {  -webkit-box-shadow:$shadow;  box-shadow:$shadow;}.box{  border:1px solid #ccc;  @include box-shadow(0 2px 2px rgba(0,0,0,.3),0 3px 3px rgba(0,0,0,.3),0 4px 4px rgba(0,0,0,.3));}//less style.box-shadow(...) {  -webkit-box-shadow:@arguments;  box-shadow:@arguments;}.box{  border:1px solid #ccc;  .box-shadow(0 2px 2px rgba(0,0,0,.3),0 3px 3px rgba(0,0,0,.3),0 4px 4px rgba(0,0,0,.3));}//css style.box{  border:1px solid #ccc;  -webkit-box-shadow:0 2px 2px rgba(0,0,0,.3),0 3px 3px rgba(0,0,0,.3),0 4px 4px rgba(0,0,0,.3);  box-shadow:0 2px 2px rgba(0,0,0,.3),0 3px 3px rgba(0,0,0,.3),0 4px 4px rgba(0,0,0,.3);}

3.6 運(yùn)算

sass具有運(yùn)算的特性,可以對(duì)數(shù)值型的Value(如:數(shù)字、顏色、變量、字符串等)進(jìn)行加減乘除四則運(yùn)算。請(qǐng)注意運(yùn)算符前后請(qǐng)留一個(gè)空格,不然會(huì)出錯(cuò)。

//計(jì)算數(shù)值、變量$baseFontSize:          14px !default;$baseLineHeight:        2 !default;$baseGap:               $baseFontSize * $baseLineHeight !default; // => 28px$halfBaseGap:           $baseGap / 4  !default; // => 7px$samllFontSize:         $baseFontSize - 2px  !default; // => 12px$_columns:              12 !default;  $_column-width:         60px !default;  $_gutter:               20px !default;     $_gridsystem-width:     $_columns * ($_column-width + $_gutter); // => 960px//計(jì)算顏色p {  color: #010203 + #040506; // => #050709}//計(jì)算字符串p:before {  content: "Foo " + Bar; // => "Foo Bar"  font-family: sans- + "serif"; // => sans-serif}

3.7 控制指令

SassScript 提供了一些基礎(chǔ)的控制指令,比如在滿足一定條件時(shí)引用樣式,或者設(shè)定范圍重復(fù)輸出格式??刂浦噶钍且环N高級(jí)功能,日常編寫過程中并不常用到,主要與混合指令 (mixin) 配合使用。

@if

//sass stylep {  @if 1 + 1 == 2 { border: 1px solid; }  @if 5 < 3 { border: 2px dotted; }  @if null  { border: 3px double; }}//css stylep {border: 1px solid; }//sass style$type: monster;p {  @if $type == ocean {    color: blue;  } @else if $type == matador {    color: red;  } @else if $type == monster {    color: green;  } @else {    color: black;  }}//less style@type: monster;p (@type) when (@type = ocean){color: blue;}p (@type) when (@type = matador){color: red;}p (@type) when (@type = monster){color: green;}p (@type) when (@type = dark){color: black;}//css stylep {color: green; }

@for

@for 指令包含兩種格式:@for $var from <start> through <end>,或者 @for $var from <start> to <end>,區(qū)別在于 through 與 to 的含義:當(dāng)使用 through 時(shí),條件范圍包含 <start> 與 <end> 的值,而使用 to 時(shí)條件范圍只包含 <start> 的值不包含 <end> 的值。另外,$var 可以是任何變量,比如 $i;<start> 和 <end> 必須是整數(shù)值。

//sass style@for $i from 1 through 3 {  .item-#{$i} { width: 2em * $i; }}//css style.item-1 {  width: 2em; }.item-2 {  width: 4em; }.item-3 {  width: 6em; }

@each

語法為:@each $var in <list or map>。其中$var表示變量,而list和map表示list類型數(shù)據(jù)和map類型數(shù)據(jù)。

單個(gè)字段list數(shù)據(jù)循環(huán):

//sass style$animal-list: puma, sea-slug, egret, salamander;@each $animal in $animal-list {  .#{$animal}-icon {    background-image: url('/images/#{$animal}.png');  }}//css style.puma-icon {  background-image: url('/images/puma.png'); }.sea-slug-icon {  background-image: url('/images/sea-slug.png'); }.egret-icon {  background-image: url('/images/egret.png'); }.salamander-icon {  background-image: url('/images/salamander.png'); }

多個(gè)字段list數(shù)據(jù)循環(huán):

//sass style//-------------------------------$animal-data: (puma, black, default),(sea-slug, blue, pointer),(egret, white, move);@each $animal, $color, $cursor in $animal-data {  .#{$animal}-icon {    background-image: url('/images/#{$animal}.png');    border: 2px solid $color;    cursor: $cursor;  }}//css style//-------------------------------.puma-icon {  background-image: url('/images/puma.png');  border: 2px solid black;  cursor: default; }.sea-slug-icon {  background-image: url('/images/sea-slug.png');  border: 2px solid blue;  cursor: pointer; }.egret-icon {  background-image: url('/images/egret.png');  border: 2px solid white;  cursor: move; }

多個(gè)字段map數(shù)據(jù)循環(huán):

//sass style//-------------------------------$headings: (h1: 2em, h2: 1.5em, h3: 1.2em);@each $header, $size in $headings {  #{$header} {    font-size: $size;  }}//css style//-------------------------------h1 {  font-size: 2em; }h2 {  font-size: 1.5em; }h3 {  font-size: 1.2em; }

@extend

@extend 的作用是將重復(fù)使用的樣式 (.error) 延伸 (extend) 給需要包含這個(gè)樣式的特殊樣式(.seriousError),例子:

//sass style//-------------------------------.error {  border: 1px #f00;  background-color: #fdd;}.error.intrusion {  background-image: url("/image/hacked.png");}.seriousError {  @extend .error;  border-width: 3px;}//css style//-------------------------------.error, .seriousError {  border: 1px #f00;  background-color: #fdd; }.error.intrusion, .seriousError.intrusion {  background-image: url("/image/hacked.png"); }.seriousError {  border-width: 3px; }

3.8 函數(shù)指令

Sass 支持自定義函數(shù),并能在任何屬性值或 Sass script 中使用:

//sass style//-------------------------------$grid-width: 40px;$gutter-width: 10px;@function grid-width($n) {  @return $n * $grid-width + ($n - 1) * $gutter-width;}#sidebar { width: grid-width(5); }//css style//-------------------------------#sidebar {  width: 240px; }

與 mixin 相同,也可以傳遞若干個(gè)全局變量給函數(shù)作為參數(shù)。一個(gè)函數(shù)可以含有多條語句,需要調(diào)用 @return 輸出結(jié)果。

Sass 函數(shù)允許使用關(guān)鍵詞參數(shù),上面的例子也可以寫成:

//關(guān)鍵詞參數(shù)調(diào)用形式#sidebar { width: grid-width($n: 5); }

雖然不夠簡(jiǎn)明,但是閱讀起來會(huì)更方便。關(guān)鍵詞參數(shù)給函數(shù)提供了更靈活的接口,以及容易調(diào)用的參數(shù)。關(guān)鍵詞參數(shù)可以打亂順序使用,如果使用默認(rèn)值也可以省缺,另外,參數(shù)名被視為變量名,下劃線、短橫線可以互換使用。

參考文獻(xiàn):Sass中文文檔 — https://www.sass.hk/docs/

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到CSS教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
超污网站在线观看| 中日精品一色哟哟| 亚洲自拍欧美另类| 亚洲一区二区三区四区中文| 欧美成人tv| 国产高清免费av| 99久久免费国产精精品| 日韩 欧美 综合| 欧美xxx网站| 日本在线视频中文有码| 一区二区av在线| 欧美性猛交xxxx| 日韩美女精品在线| 成人在线网站| 久久精品国产亚洲777| 岛国最新视频免费在线观看| 国产成人午夜高潮毛片| 搜索黄色一级片| 精品一区二区三区影院在线午夜| 精品国产乱码久久久久久浪潮| 国产精品刘玥久久一区| 欧美videos粗暴高清性| 国产不卡免费视频| 亚洲免费播放| 欧美xxxx吸乳| 欧美一级片网址| xxxxx成人.com| 久久久另类综合| 中文日韩电影网站| www.xxx国产| 天天干免费视频| 蜜桃av一区二区三区电影| 国产精品中文欧美| 亚洲精品一区av在线播放| 97超碰在线免费观看| 久久频这里精品99香蕉| 欧美日韩在线视频播放| 亚洲一区二区| 日本女优爱爱视频| 波多野结衣一区二区三区免费视频| 国产精品视频公开费视频| 国产一区二区三区视频在线观看| 在线宅男视频| 免费欧美一级片| 黄色av免费在线看| 国产婷婷色一区二区在线观看| 老司机精品视频在线| 色综合久久综合中文综合网| 日韩精品久久久久久久电影99爱| 国产伦精品一区二区三区视频小说| 国产手机免费视频| 欧美一区二区三区在线看| 8x8x8x视频在线观看| 亚洲天堂一区在线观看| 亚洲激情校园春色| 天天草夜夜草| 欧美日韩在线观看一区二区三区| 精品国产999久久久免费| 亚洲综合成人婷婷小说| 久久综合激情| 美女久久久久久久久| 999国内精品视频在线| 日韩精选在线观看| 精品国产一区二区三区| 91高清在线| 韩国成人福利片在线播放| 中文字幕第3页| 国产一区二区三区站长工具| 亚洲一区亚洲二区亚洲三区| 91久久国产综合久久91| 成人在线看片网站| 蜜桃av噜噜一区二区三| 全球av集中精品导航福利| 国产欧美一区二区三区四区| 麻豆国产精品一区二区三区| 一级二级在线观看| 欧美成人精品影院| 成年免费视频黄网站在线观看| 国产成人精品自线拍| 免费成年人视频在线观看| 激情综合丁香| 欧美成人一区二免费视频软件| 国产精品一区二区男女羞羞无遮挡| 国产a视频免费观看| 四虎永久在线精品无码视频| 精品久久一区| 国产精品系列在线| 免费精品一区| 日韩电影天堂视频一区二区| 极品销魂一区二区三区| 成人动漫在线视频| 亚洲人metart人体| 国产寡妇亲子伦一区二区三区四区| 中文字幕高清不卡| 日韩中文字幕欧美| 精品美女久久久| 黄视频在线免费看| 在线视频国内自拍亚洲视频| 欧美一级片免费播放| 99久久精品无码一区二区毛片| asian性开放少妇pics| av成人亚洲| 顶级欧美妇高清xxxxx| 欧美一区二区三区视频| 亚洲精品视频免费观看| 国产日产亚洲系列最新| 警花av一区二区三区| 日韩不卡视频一区二区| 国产精品福利在线播放| 成人手机在线电影| 精品一区二区三区免费观看| 亚洲sss视频在线视频| 国产精品视频地址| 丁香资源影视免费观看| 国产激情小视频在线| 极品蜜桃臀肥臀-x88av| 亚洲一区二区三区四区在线观看| 日韩av免费网址| 巨大荫蒂视频欧美大片| 国产91精品对白在线播放| 欧美日韩国产综合在线| 在线观看免费高清完整| 欧美一区永久视频免费观看| 国产精品九九九九九九| 久久久亚洲成人| 亚洲精品小说| 成人区精品一区二区| 一本色道婷婷久久欧美| 欧美 另类 交| 91久久精品www人人做人人爽| 国产日产精品久久久久久婷婷| 青青草在线观看视频| 成人毛片在线精品国产| 天堂аⅴ在线地址8| 成人黄页网站视频| 99久久亚洲一区二区三区青草| 欧美大片在线免费观看| 在线视频影院| 日韩av电影手机在线观看| 日本一区二区在线播放| 国产美女三级视频| 91情侣偷在线精品国产| www成人在线视频| 日韩欧美精品| 色94色欧美sute亚洲线路二| 国产吃瓜黑料一区二区| 天天射天天爱天天射干| 日韩有码在线视频| 中文字幕第21页| 免费高清成人在线| 国产精品www在线观看| 欧美视频不卡| 亚洲乱码中文字幕久久孕妇黑人| 欧美精品制服第一页| 国产精品pans私拍| 国产99精品在线观看| 久久久久www| 欧美一区二区三区激情视频| 成人小视频免费观看| 欧美亚洲日本在线| 午夜在线精品偷拍| 在线欧美福利| 成人黄色免费片| 欧美日韩黄色网| 日本一道高清亚洲日美韩| 日韩精品一区二区三区蜜臀| 免费高清av| 蜜桃传媒九九九| 日本精品国语自产拍在线观看| 天堂蜜桃一区二区三区| 精品一区二区三区日韩| 亚洲国产成人va在线观看麻豆| 香蕉视频在线观看免费| 污网站在线播放| 国产超碰在线一区| 丰满少妇在线观看网站| 久久久久九九九九| 亚洲男人的天堂网站| 又骚又黄的视频| 国产一伦一伦一伦| 午夜日本精品| 综合久久成人| 亚洲蜜臀av乱码久久精品| 亚洲国产精品免费| 色综合久久88色综合天天| 欧美成人免费在线观看视频| 91在线精品视频| 亚洲а∨天堂久久精品9966| 国产在线精品一区二区中文| 亚洲成年人电影| 91视频.com| 亚洲精品喷潮一区二区三区| 国产精品久久久久aaaa九色| 精品亚洲国产视频| 国产a∨精品一区二区三区不卡| 欧美日韩免费观看中文| 精品国产a一区二区三区v免费| 欧美综合精品| 一本大道香蕉久在线播放29| 免费国偷自产拍精品视频| 国产精品久久久久久久免费软件| 热99这里只有精品| sdde在线播放一区二区| 九九热视频在线观看| 在线观看日本www| 999久久久免费精品国产| 亚洲综合av一区| 在线天堂中文www官网| 国产精品久久久久久人| 成人蜜桃视频网站网址| 欧美黑人一区二区三区| 精品无码人妻一区| 欧美色婷婷久久99精品红桃| 男人的天堂在线视频免费观看| 美女爽到高潮91| 午夜精品久久久久影视| 四虎影视成人永久免费观看视频| 精品99在线视频| 狠狠躁夜夜躁av无码中文幕| 成人综合婷婷国产精品久久免费| 日本欧美不卡| 国产av自拍一区| 国产天堂在线| 黄色a级片免费| 久久影院一区| 国产日韩高清一区二区三区在线| 欧美一区二区三区四区五区六区| 蜜桃在线一区二区三区精品| 熟女俱乐部一区二区| free极度另类性欧美| 91麻豆精品国产| 成人网在线播放| 人人妻人人玩人人澡人人爽| 中文字幕中文字幕一区三区| 成人免费高清| 动漫3d精品一区二区三区| 欧美日韩在线精品一区二区三区激情综| 精品少妇v888av| 精品免费日韩av| 亚洲 日韩 国产第一| 日本欧美视频在线观看| 国产精品123| 一区二区三区午夜| 丰满人妻一区二区三区53视频| 免费av网站在线| 人善交video高清| 日韩精品一区二区三区第95| 久久久久久久久久网站| 亚洲欧美www| 国产精品影院在线观看| 日本三级视频在线观看| 成人免费视频播放| 色狮一区二区三区四区视频| 亚洲日本青草视频在线怡红院| 国产精品久久777777| 中文字幕网址在线| 首页亚洲欧美制服丝腿| 国产女人18水真多18精品一级做| 香港久久久电影| 在线免费观看日韩欧美| 亚洲国产精品传媒在线观看| 日韩在线成人| 国产无遮挡裸体免费久久| 免费a级毛片永久免费| 高清亚洲成在人网站天堂| 三级黄在线观看| 欧美日韩综合在线观看| 91久久精品一区二区三| 国产无遮无挡120秒| 91在线视频免费91| 性国裸体高清亚洲| www.成人69.com| 亚洲 美腿 欧美 偷拍| 一级欧美一级日韩片| 欧美日韩在线一二三| 久久亚洲风情| 劲爆欧美第一页| 成人午夜毛片| 99热这里只有精品首页| 在线日韩网站| 亚洲一区精品在线| 国产欧美一区二区三区久久人妖| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲电影成人成人影院| 久久国产精品视频| 亚洲美女免费精品视频在线观看| 被黑人猛躁10次高潮视频| 免费看毛片的网址| 日本欧洲国产一区二区| 在线观看免费毛片| 免费精品视频一区二区三区| 亚洲成人精品综合在线| 欧美日韩一区二区三区不卡视频| 久久国产精品免费一区二区三区| 国产亚洲精品综合一区91| 日本中文字幕久久| 9自拍视频在线观看| 高清国产午夜精品久久久久久| 久久国产精品影视| 成人在线精品视频| 久草视频国产| 亚洲aⅴ网站| 蜜臀视频一区二区三区| 日本大香伊一区二区三区| 中日韩午夜理伦电影免费| 美女视频亚洲色图| 久热精品在线视频| 影音先锋男人资源站在线观看| 国产在线视频欧美一区二区三区| 免费视频久久久| 涩涩视频在线播放| 麻豆一区二区三区在线观看| 男女h黄动漫啪啪无遮挡软件| 国内精品国产三级国产99| 在线看日韩av| 欧美日韩在线免费观看| 精品蜜桃一区二区三区| 久久久久免费网| 中文字幕av一区| 欧美噜噜久久久xxx| 国产国语videosex另类| 米奇777四色精品人人爽| 亚洲第一偷拍网| 久久www成人_看片免费不卡| 一区二区三区黄色片| 国产精品亚洲第一区在线暖暖韩国| 日日摸夜夜爽人人添| 97视频热人人精品|