前端(三)

CSS續css

1、CSS3新特性:html

注意:在使用CSS3新屬性時,能夠給CSS3樣式加上各大廠商的前綴,來兼容不一樣瀏覽器(「瀏覽器內核」負責對網頁語法的解析,內核分爲渲染引擎和Js引擎)web

 

           瀏覽器內核                             前綴                        瀏覽器瀏覽器

     a、Gecko                             -moz-                        火狐ide

       b、Webkit(谷歌目前已經棄用)                 -webkit-                        谷歌、蘋果svg

     c、Trident                                                 -ms-                                IE                        佈局

     d、Presto(歐朋目前已經棄用)                    -o-                              opera(歐朋)字體

     e、blink                                                                                       目前谷歌和歐朋)   flex

  

 

  一、CSS3選擇器(屬性選擇器、兄弟選擇器、僞對象選擇器);(詳見上一篇)動畫

  二、彈性盒 display:flex;(詳見上一篇)

    三、圓角 border-radius:;

    1) border-radius : value ; 四個角(value中填像素或百分比,當盒子爲正方形時若是填50%,則變成圓,當盒子爲矩形時填50%,爲橢圓)

    2)border-radius : value  value ; 左上角  右下角

      3)border-radius : value  value  value  value ; 左上角  右上角  右下角  左下角

 

 

注意:若是隻要兩邊變圓,則value取高的通常像素 

         

  

   四、陰影  

      盒陰影:

        box-shadow :     水平方向的位置              垂直方向的位置            模糊度                         擴展值                  顏色                 陰影位置;

                                                 (正右偏,負左偏)                 (正下,負上)                 (正值,值越大越模糊)     (正變大,負變小)                                   (默認值是外陰影outset ,也能夠設置爲內陰影);

       字陰影:

        text-shadow :     水平方向的位置             垂直方向的位置            模糊度                         顏色;  

                 (正右偏,負左偏)                 (正下,負上)                (正值,值越大越模糊)  

 

 注意:a、若是要左右和下邊有陰影,則,如:box-shadow:0  15px  30px ;(下邊有陰影,左右淡色陰影經過模糊度撐開)

                  

    

      b、若是box-shadow:0 0 30px rgba(0,0,0,.2); ,則水平和垂直都沒有,四周淡色陰影由模糊度撐開

                                                      

 

       五、2D轉換(transform):使元素在形狀上或者位置上發生必定的改變

    (有時若是須要動畫的元素須要進行變換,建議把該元素進行脫離文檔流)

    

    位移

    (1)Transform:translate(x,y)         x取正值朝右邊移動,y取正值朝下移動(translate中只取一個值,表明水平方向,正右,負左

            (2)Transform:translateX(30px)   向右移動30px

            (3)Transform:translateY(30px)   向下移動30px

 

    旋轉

   (1)transform:rotate(60deg);裏面填度數,單位是deg,取正值順時針旋轉,取負值逆時針旋轉

    (注意:旋轉會旋轉整個座標軸,默認旋轉的中心點是整個形狀的中心,即寬高的一半。能夠修改默認的旋轉中心點,經過transform-origin:left top;修改中心點)

    (2)transform:translate(20px,20px)   rotate(60deg); 先位移再旋轉

        

      transform:translate(20px,20px)  rotate(60deg); 先旋轉在位移

        

      上述區別總結:旋轉會旋轉整個座標軸通常狀況,若是要旋轉,把旋轉寫在位移的後面

        

    

    (3)transform:rotateX(60deg) 指繞着水平X軸旋轉

    (4)transform:rotateY(60deg) 指繞着垂直Y軸旋轉

 

    縮放   

    (1)transform : scale(x,y) ;             取值0~1縮小,>1放大,當其中放一個值時等比例縮放

            (2)transform : scaleX() ;              水平方向上的縮放

            (3)transform : scaleY() ;              垂直方向上的縮放

 

     傾斜

    (1)transform : skewX(30deg) ;

    (2)transform : skewY(30deg) ;

    (3)transform : skew(xdeg,ydeg) ;      取一個值表明水平方向,兩個值表明水平盒垂直

 

    六、背景漸變

    (1)線性漸變

      background: linear-gradient(to top,red,yellow);

          如:

     background:linear-gradient(red , pink , palegreen , paleturquoise);  默認由上向下

               background:linear-gradient(to right , red , pink , palegreen , paleturquoise ); 朝右

               background:linear-gradient(to right bottom , red , pink , palegreen , paleturquoise); 朝右下

      

     (2)徑向漸變

      background: radial-gradient(top,circle,red,yellow);

   如:

      background: radial-gradient(red,pink,palegreen,paleturquoise);  默認由中心向周圍

            background:-webkit-radial-gradient(top,red,pink,palegreen,paleturquoise);由上向周圍

      

    background:-webkit-radial-gradient(top left,red,pink,palegreen,paleturquoise);由左上向周圍

      

    background:-webkit-radial-gradient(top left, circle,red,pink,palegreen,paleturquoise); 由左上向周圍,漸變形狀爲圓

 

     七、過渡

          特色:一、指經過觸發事件從一種樣式平滑的過渡到另一種樣式(觸發事件,如:點擊,懸浮等)

       二、只能作點到點的簡單動畫

   

    語法:

      簡寫:transition : 過渡的屬性   過渡的持續時間   過渡的速度變換類型   過渡延遲 ;

                                          顏色                     ms/s                     linear (勻速)                             ms/s

                數值(寬高....)                                  ease(默認值,先加速後減速)

                陰影                                                 ease-in(加速效果)

                                          轉換(transform)                              ease-out(減速效果)

                                          背景漸變                                            ease-in-out(先加速後減速)

  

                如:transition : all 1s   (這裏的all指全部須要變換後的屬性)                 這句寫在須要調用過渡的CSS樣式中

 

      屬性單寫:

          transition-property:;

          transition-duration:;

            transition-timing-function:;

          transition-delay:;

 

    八、animation動畫:經過控制每一幀,能夠製做複雜動畫

 

 

    (1)設置動畫

    語法:

              @keyframes name(自定義){

                                    from/ 0%{

                       Css樣式

             }

  

             percent{

                                          Css樣式

              }

 

             to/100%{

                       Css樣式

              }

        }

 

      (2)調用動畫           (在想調用動畫的樣式中添加)

      語法:

 

       簡寫:animation  : 動畫名字          動畫持續時間        速度變化類型            播放次數           播放方向        forward ;

                name              s/m                    linear                       number                alternate        動畫停在最後一幀,否則默認值停回初始狀態

                                                                                             ease                        infinite(無限)

                                 ease-in

                                 ease-out

                                 ease-in-out

      屬性單寫:

          

 

2、CSS Hack(主要針對IE版本瀏覽器)

  優勢:解決CSS樣式兼容IE低版本問題,低版本的IE瀏覽器,如IE六、IE七、IE8

  缺點:大規模使用CSS Hack會帶來維護成本的提升以及瀏覽器版本變化而帶來相似Hack失效等系列問題,即對當前版本起做用的hack,也許升級一下,界面又亂了

    (即儘可能找通用方法,減小使用CSS Hack)

 

  一、條件註釋:

(1)<!--[if IE 9]>

    <style>

      div{ color : blue }               //在IE9下,字體顏色爲藍色

    </style>        

  <![endif]-->

 

(2)<!--[if IE]>

    <p>只能在IE瀏覽器上看見這段文字</p>           //只能在IE瀏覽器上看見這段文字

   <![endif]-->

 

(3)<!--[if gt IE 6]>

    <style>

      <span>這段文字只能在大於IE6版本上出現</span>         //<span>這段文字只能在大於IE6版本上出現</span>

    </style>

  <![endif]-->

 

 

總結上述:

  條件註釋的語法:<!--[if  條件]>               

              代碼塊;

          <![endif]-->  

 

其中「條件符號」有:

大於    gt  

大於等於    gte

小於    lt

小於等於    lte

非指定版本    !

 

  二、屬性先後綴:

(1)」_」減號是IE6專有的hack

(2)」\9」IE6/IE7/IE8/IE9/IE10都生效

(3)」\0」IE8/IE9/IE10都生效,是IE8/9/10的hack

(4)」\9\0」只對IE9/IE10生效,IE9/10的hack

 

 

設定優先級最高 , 在後面加上!important:如background-color:red !important;

 

 

3、媒體查詢(以原生代碼寫響應式佈局,編寫一次代碼適應於多屏幕尺寸終端

    

 

    實例:

      注意:在頭部加入<meta name=」viewport」 content=」device-width , initial-scale=1」>

        (爲了使電腦上的Chrome或者其餘瀏覽器可以支持手機模式,否則只支持pad端)

 

    <head>

      <style>

               /*PC端開始*/

               @media screen and (min-width:992px){

                       body{

              background-color:pink;                                              

            }

           }

               /*PC端結束*/

 

               /*iPad端開始*/

               @media screen and (min-width:769px) and (max-width:992px){

                       body{

                                      background-color:purple;      

            }

           }

               /*iPad端結束*/

 

               /*移動端開始*/

               @media screen and (max-width:768px){

                       body{

                                  background-color:blue;                  

             }

          }

               /*移動端結束*/

      </style>

    </head>

 

書寫規則:

    在書寫響應式佈局中,寬度儘可能用百分比表示(以方便各類屏幕大小的比例),高度視狀況而定。在開始書寫響應式佈局時,首先按照PC頁面的比例開始編寫,書寫完PC端佈局以後,將移動端,pad端和PC端顯示中有區別部分的代碼段,分別放入各自的@media中,通過各自需求的更改,就完成了。

    

 

 

4、其餘

一、懸浮圖標顯示

  cursor : pointer ;      鼠標箭頭圖標顯示轉換成小手圖標顯示

  cursor : wait ;          鼠標箭頭圖標顯示轉換成等待的圓圈圖標顯示

 

二、字體圖標

(1)藉助阿里巴巴矢量圖庫

           第一步:將須要的圖標加入購物車;

           第二步:對購物車中的圖標點擊「下載代碼」,得到壓縮包;

           第三步:打開壓縮包以後,選取「iconfont.css , iconfont.eot , iconfont.svg , iconfont.ttf

iconfont.woff , demo_unicode.html」放入項目的css文件夾(其中以.woff .ttf .svg . eot爲後綴的文件,是爲了兼容各個瀏覽器的)

           第四步:引入時在head中加入<link rel=」stylesheet」 href=」url」>

           如:<i class=」iconfont」>十六進制</i>

 

   

相關文章
相關標籤/搜索