1. 程式人生 > >我盆友的學習筆記,記得挺詳細的 部分摘自博友

我盆友的學習筆記,記得挺詳細的 部分摘自博友

tor rec ges san 渲染 去掉 sass firefox 空間擴展

HTML5 CSS3 部分css屬性或標簽

1、 <!DOCTYPE html> 文檔類型聲明,告訴瀏覽器如何渲染html

<html lang="en"> 頁面為什麽語言

2、html5與html4有什麽不同?

  頭部聲明;

   語義化標簽,更人性化,更生動;header nav section aside article footer address等

3、<meta charset="UTF-8"> 字符編碼

  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>各種IE的兼容性設置 優先使用IE最新版和Chorme
   <meta name="viewport" content="width=device-width,initial-scale=1,minmum-scale=1,maximum-scale=1,user-scalable=no"/> 創建一個虛擬的窗口 窗口寬度為設備寬度 初始縮放比例 最小縮放比例 最大縮放比例 是否允許縮放比例

  width=640(微信常見) user-scalable=no,禁止縮放,默認是yes

5、 a,img{

    -webkit-touch-callout:none} //禁止長按超鏈接或圖片彈出菜單kk

  html,body{

    -webkit-user-select:none;

    user-select:none;} //禁止選中文本

  button,input,optgroup,select,textarea{

    -webkit-appearance:none;} //去掉webkit默認的表單樣式 如果不去掉在IOS中不會改變樣式

  a,button,input,optgroup,select,textarea{

    -webkit-tap-highlight-color:rgba(0,0,0,0)};//去掉a,input,和button點擊時的藍色外邊框和灰色半透明背景; 瀏覽器支持IOS

6、 input::-webkit-input-placeholder{

    color:yellow;} //修改-webkit placeholder樣式

  input:focus::-webkit-input-placeholder{

    color: #foo} //input:focus 獲得焦點時 placeholder樣式

  input::-webkit-input-speach-button{

    display:none;} //隱藏Android的語音輸入按鈕

7、 body{

    -webkit-text-size-adjust: 100% !important}//禁止IOS調整字體大小;

    默認就隨著終端改變字體,如果body設成全局或者繼承就會隨著終端改變,不要設成全局或者繼承的

  -webkit-text-size-adjust:none ; 禁用webkit內核瀏覽器文字調整大小

8、 audio音頻 video視頻 canvas畫布 svg本地存儲地理定位

 

  chrome/360極速版/蘋果ios/搜狗瀏覽器 內核 webkit

  火狐內核 MOZ 兼容opera前綴 -o 兼容IE內核 -ms

9、sass/scss 預處理器,用於書寫css樣式,預編譯

  繼承: extend

  使用sass時,繼承是一個很不錯的減少css重復代碼的功能。繼承可以讓一個選擇器繼承另一個選擇器所有的樣式,並聯合聲明。

  方法: @extend 除了包含和群組以外的樣式都已用來繼承

10、sass

    後綴名: scss 和sass 兩個功能一樣、

    輸出樣式的風格有四種,默認為nested

        nested:嵌套縮進的css代碼

        expanded:展開多行的css代碼

        compact:簡潔格式的css代碼

        compressed: 壓縮後的css代碼

    變量以$開頭 !default默認值

        如果在字符串中引用變量,則需要將變量名字在 #{}中

        默認變量只需在變量值後加上 !default

    嵌套中的&表示父元素選擇器。

        css屬性頁可以嵌套(用的較少)

    混合器:@mixin 調用@include

    占位符選擇器: %

        占位符選擇器的優勢在於聲明後,如果不調用則不會產生類似。

        .text的多余css代碼,占位選擇器通過%標示來定義,也通過@extend來調用 

        %名字{樣式} 調用 @extend %   

    運算:      Sass 中,運算只是其基本特性之一。sass做加法運算是可以不考慮參數帶單位,但需要單位同一,加號可以不需要空格隔開;

          減法註意空格; 乘法只需一個乘數帶單位(否則會出錯),em/px/%等多種單位;

        做除法,css中“/”已經作為一個符號,不會報錯 。做為除法: 函數,變量,表達式的一部分,圓括號包裹,例width: (100px/2);

        做除法時兩個都帶單位時,得到的值沒有單位。

              詳細案例請參觀博客:http://www.cnblogs.com/Medeor/p/4966952.html

        數字: 如1,2,13,10px (如果帶單位,單位需同一)

        字符串拼接(+):

          p::before{

                 content: "hello" + -world ;

                font-family: sans- + "serif"; }

          輸出結果:

          p::before{

              content: "hello-world";

              font-family: sans-serif;}

        顏色: 如: blue #04a3fg(分段計算,紅綠藍rgb) rgba(255, 0,0,0,5);

        布爾型:例 true ,false

        空值: 例 null

        值列表: 用空格或逗號分開 nth-child(index) nth-of-type(index)

   循環:

      $for $i from <start> through <end>

      $for $i from <start> to <end>    區別: to 和 through區別 包含最後一個值? through包含

      用法: $for $i from 1 to 3{

          .item-#{$i} {

              width: 2em*$i}

          }

      輸出: .item-1{ width: 2em} .item-2{width: 4em} .item-3{width: 6em}

       總結 $i 是變換的值 .item-${$i}#{1} 輸出 .item-11 .item-21 .item-31 變換十位數

     @while循環

        用法:

          $types: 3 ; $type-width: 20px

          @while $types >0{

            .while-#{$types}{

              width: $type-width + $types; (加號 拼接)

            }

            $types: $types-1;

          }

       輸出結果:

          .while-3{ width: 23px} .while-2{width: 22px} .while-1{width: 21px}

     @each 循環

      遍歷一個列表,從列表中取值;(數組或對象)

      循環指令的形式: @each $var in <list>

      $list: adam john wynn mason kuroir;//$list 是一個列表
      @mixin author-images {
       @each $author in $list {
       .photo-#{$author} {
       background: url("/images/avatars/#{$author}.png");}
      }
      }

     .author-bio {
      @include author-images;}

      輸出:

        .author-bio .photo-adam {
          background: url("/images/avatars/adam.png"); }
        .author-bio .photo-john {
           background: url("/images/avatars/john.png"); }
        .author-bio .photo-wynn {
          background: url("/images/avatars/wynn.png"); }
        .author-bio .photo-mason {
          background: url("/images/avatars/mason.png"); }
        .author-bio .photo-kuroir {
          background: url("/images/avatars/kuroir.png"); }

11、CSS3動畫

  過渡動畫  transition: name duration easing delay

          (transition-name transition-duration transition-timing-function transition-delay )

        name 動畫的屬性或樣式(width,color),不寫或設置為all ,表示要過渡所有發生了改變的屬性;過渡多個屬性,屬性與屬性之間用逗號        隔開;

        duration:定義過渡效果執行時間 m/ms

        easing: 動畫曲線 ease-out 由快到慢 linear:勻速(默認) ease-in-out慢快慢 ease-in:由慢到快

    註意: transition 不要出現在hover裏偽類

        例: -webkit-transition: width 1.5s ease-in 0.5s(延遲執行) 超過兩個時用all

  animation關鍵幀動畫

        animation-interation-count 元素動畫的循環次數 默認值1; infinite無限循環

        animation-direction: 元素動畫播放的方向,(是否允許反向播放); alternate動畫播放在第偶數次向前播放,第奇數次反方向

        @keyframes 關鍵幀,用於引出(創建)一個動畫 @keyframes animationname {keyframes-selector {css-styles;}}

                    @keyframes name1{ from{};to{};} @keyframes name2{0%{}; 50%{}; 100%{}}

  css3中的動畫框架: animate.css

            使用方法: <div class="animate zoomIn">進入放大的動畫</div>

            常用的動畫類型: bounce彈跳; flip 擲; flash閃現; shake震動發抖, swing秋千懸掛, wobble搖擺搖晃; ring環形;                       fadeIn淡入 fadeout淡出 rotate翻轉

  

  transform: translate() /scale() / skew()/ rotate() 主要對元素進行2D轉換 translateX() translateY()等 後面幾個屬性也一樣

        transform-origin: x y; 定義rotate旋轉,skew傾斜和scale縮放中心點;

           x,y可以使具體數值/百分比/(left,top,right,bottom);

           默認在 元素的中心點上; 中心點的改變 對translate位移沒有影響

  transform: translate3d() / scale3d() / skew3d() / rotate3d() 3D轉換 此時會開啟硬件加速

        translate()位移,是占位的 scale() 縮放 skew()扭曲 rotate(60deg)旋轉 單位 deg

  vertical-align: middle 控制文字和圖片居中對齊的方法 註意: 一行中文字也有圖片用定位做(對齊的基線默認 baseline,圖片一般較大,需要下移一下)

      手機端要建立一個大盒子,寬度100%,高度 auto

      $list : red blue green orange #fff #000; background:nth($list,3)

  box-sizing: border-box 盒子的width和height 包含邊框(content-box ==border-box)

  鼠標狀態: cursor: pointer手的狀態/ move可移動狀態 / wait轉圈狀態(加載狀態)

  box-shadow: x偏移 y偏移 模糊度 顏色 inset (內陰影)

  相對單位: rem ,em;

      區別: rem 相對於根元素html的字體大小。doc默認的是 16px; html{ font-size: 625%;body{font-size: .14rem}} 谷歌不支持小於12px           的字體。 (不繼承父元素的大小) 100px==1rem 不繼承字體大小,先定義一個全局的

         em: 相對於父元素,且字體大小可以繼承的。

  before 和 after偽類  

      在選擇器前後定義樣式或添加新元素

      選擇器::before{

            content:"文字",

            display:table; //其他css樣式}

      選擇器::after{

            content:"wenzi",

            display: table; //其他css樣式 }

  字體庫: 網址: http://icomoon.io

      字體模塊 @font-face 把自定義的web字體,嵌入到你的網頁中,當用戶電腦上沒有此種字體時,自動從網上下載。

      用法: 字體類型: .woff() .ttf和.otf .eot(IE9only) .ttf(True Type字體)和.otf(OpenType) EOT (Embedded OpenType)

          @font-face{

              font-family: 字體名稱(自定義),

              src: url("自定義字體路徑,相對/絕對"),

                ,url(‘font.eot‘); /* IE9 */ //IE9只支持 .eot格式的字體}

           註:Internet Explorer 9 只支持 .eot 類型的字體, Firefox, Chrome, Safari, 和 Opera 支持 .ttf 與.otf 兩種類型字體.

             Internet Explorer 9+, Firefox, Chrome, Safari, 和 Opera 支持 WOFF (Web Open Font Format) 字體.

               Internet Explorer 8 及更早IE版本不支持@font-face 規則.

          .woff 是web中最佳格式 .eot是IE專用字體 .svg是基於svg字體渲染的一種格式

         字體的調用: h1{font-famify: "字體名字"}

14、彈性盒(伸縮盒)

    由於老伸縮盒(09年 ),與新伸縮盒差異大,只說新盒子(11年);

    向內擠壓: -webkit-box-sizing: border-box

      新盒子::

        display: -webkit-flex

        flex-direction: row | row-reverse | column | column-reverse 排列方式

        flex:none | <‘ flex-grow ‘> <‘ flex-shrink >‘? || <‘ flex-basis ‘>

          -webkit-flex-grow: 分配父元素剩余空間擴展比率

          flex-sharink: 按比例收縮比率

          flex-basis: 伸縮基準率

          flex-basis: length | percentage | auto默認 | content內容自動計算寬度

          flex-flow:<‘ flex-direction ‘> || <‘ flex-wrap ‘> 子元素的排列方式 | 是否多行

        justify-content: flex-start | flex-end | center | space-between | space-around

            space-between:第一個元素靠左邊界,第二個元素靠右邊界,中間默認是平均分配

            space-around: 兩兩之間的空白空間相等,同時第一個元素的空間以及最後一個元素的空間為其他空白空間 的一半

        align-items: flex-start | flex-end | center | baseline | stretch

          stretch : 使項目邊距盒的尺寸,接近所在行的尺寸,但同時會遵照 min/max- width|height 屬性的限制

    彈性盒子是否換行:

      flex-wrap: nowrap | wrap | wrap-reverse

        默認是nowrap容器為單行,該情況下子項可以能會溢出容器

        wrap: 定義flex容器為多行,子項內容可能會斷行

        wrap-reverse: 反轉 wrap 排列

        說明:該屬性控制是單行或是多行,同時橫軸的方向決定了新行堆疊的方向

    

    

    l    

  

        

    

  

  

  

      

        

  

  

              

  

  

我盆友的學習筆記,記得挺詳細的 部分摘自博友