1. 程式人生 > >CSS3和HTML5新增特性及使用(保留方便檢視)

CSS3和HTML5新增特性及使用(保留方便檢視)

CSS3

1.邊框圖片 border-image: url(test.png) 10/10px;  outline:10px solid #ff0;outline-offset:15px;邊框的邊框,兩邊框之間距離

2.三角形   span{display:inline-block;border:50px solid transparent;border-top-color:red;border-left-color:red;}     

3.背景大小  background-size:50%/100px 200px/cover/contain;//原圖50%/寬為100px 200px/覆蓋/容納

4.陰影    box-shadow:red 0px 0px 10px 0px inset/outside;陰影顏色 X偏移 Y偏移 陰影模糊半徑 擴充套件半徑

          內部/外部顯示  陰影累加box-shadow:red 0px 0px 10px 0px inset,green 0px 0px 10px 0px outside;

           文字陰影: text-shadow:red 0px 0px 10px; 陰影顏色,X偏移,Y偏移,模糊半徑

5.圓角   邊框圓角border-radius:5px/10%;   border-radius:50%:圓

          border-radius:150px 150px 0px 0px;/ border-radius:20px 100px 0px;/border-radius:20px 100px;

          border-top-left-radius:150px;/border-top-left-radius:130px 40px;

6.HSLA   background:hsla(0,100%,100%,0.5); 色調,飽和度,亮度,透明度//(0,0%,100%)白;(0,0%,0%)黑

7.RGB    backgrund:rgb(255,0,0) 三個值的範圍為0~255    

          (255,0,0)紅;(0,255,0)綠,(0,0,255)藍; (255,255,0)黃;(0,0,0)黑,(255,255,255)白

8.漸變   ①線性漸變:background: linear-gradient(#fff, #333);  //由#fff漸變為#333

            background: linear-gradient(#000, #f00 50%, #090); //由#00漸變為#f00,並佔50%,最後為#090,

            background:linear-gradient(0deg,yellow 50px,blue 51px,blue 100px,#F89 101px,#F89 200px);

            從下到上黃色高度0-50px,藍色高度50-100px,#f89高度101-200px

            background:linear-gradient(0deg,yellow 50px,blue 100px,#F89 200px);從下到上漸變

         重複線性漸變:background:repeating-linear-gradient(45deg,#FFF,#FFF 45px,#ccc 46px);

      ②徑向漸變:background:radial-gradient(100px 100px,yellow,blue); 從內到外由yellow變為blue,   

            background:radial-gradient(100px 500px at 50px 10px,yellow,blue);

            內部寬100px;高50px的黃色圓在距上面50px左邊10px漸變為藍色        

             重複徑向漸變:background:repeating-radial-gradient(yellow,yellow 20px,blue 21px,blue 40px);

9.White-space處理文字空白:pre保留html中的格式nowrap強制不折行,直到遇到br標籤+overflow:

  hidde超出部分隱藏+text-overflow:ellipsis;以省略號的形式顯示, (overflow:auto;帶滾動條的隱藏)

 div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}   div:hover{white-space: normal;}文字顯示一行,劃過全部顯示

10.連結字型 @font-face { font-family : name ; src : url( url ) ; } 

       url('../font/lie_to_me_-_ttf-webfont.otf') format('otf'),  url('../font/lie_to_me_-_ttf-webfont.ttf') format('ttf'),

       url('../font/lie_to_me_-_ttf-webfont.woff2') format('woff2'), url('../font/lie_to_me_-_ttf-webfont.woff') format('woff');

11.文字域的自由縮放resize:both;overflow:auto/horizontal/vertical; 整體/高/寬縮放

12.建立伸縮容器  display:flex;伸縮流方向;預設水平/row;豎直;column; 伸縮性:flex:2;容器按比例分配額外空間。

13.縮放    transform-origin:10% 20px;transform:scale(1.5,0.5);以X軸10%,Y軸的20px為中心點

           縮放為原來的寬1.5倍,高0.5倍;//只有一個數值時寬高縮放一致。

14.旋轉    div{transition:2s;}   div:hover{transform:rotateY(180deg);}  滑過div時2秒旋轉180度

15.變形    transform:skew(-30deg,10deg) 內容逆時針傾斜30%;整體順時針旋轉10度;

16.位移    transform:translate(20px,40px);向水平方向位移20px;向豎直方向位移40px;

           例:p:hover{ transform:translate(1000px) rotate(360deg);}

模組移動(文字、圖片):  兩次移動

font:normal 40px/1.5 'Ultra','Curlz MT','Bauhaus 93','Blackoak Std',Courier,Arial;color:#7e9409; -moz-animation: 3s slidein; -webkit-animation: 3s slidein; -webkit-perspective: 100; -moz-perspective: 300px; }

@-moz-keyframes slidein { from {top:-100px;} 85% {top:80%;} to {top:70%;} }

@-webkit-keyframes slidein { from {top:-100px;} 85% {top:80%;} to {top:70%;}    }

17.過渡    p:hover{ transform: translate(1000px); background:blue;color:#000;height:500px; }

    p{transition:transform 2s ease-in 0.5s,background 1s ease-out,color 5s ease-in-out,height 1s lincar;}       

    p:hover{ transform: translate(1000px); background:blue;color:#000;height:500px; }

    2s內加速位移1000px且延遲0.5s開始;1s內背景減速變藍,

    5s內字型顏色先加速再減速變白,1s內高度恆速變為500px

18.動畫   p:hover{animation-play-state:paused;}

p{animation:a1 5s ease-in;animation-iteration-count:3;animation-direction:alternate;animation-fill-mode:forwards;}

@keyframes a1{ 0%{ transform:translate(0p,0px);} 30%{transform:translate(500px,0px);}

50%{transform:translate(1000px,300px);} 70%{transform:translate(300px,500px);}

100%{transform:translate(1300px,800px)} }     

19.滑鼠指標變化:變成抓手cursor:pointer;   cursor:move;  

HTML5

 1.插入音訊:  支援格式:Oggvorbis、MP3和WAV

  <audio  src=”a.mp3” >    屬性:controls包含基本的播放控制元件(開始、結束、音量、位置)   

  preload=”auto/metadate/none”  音訊檔案的下載方式:整個檔案/音訊時長和開頭/不預先下載

  Loop/autoplay  無限次播放/自動播放  例:<audio src=”a.mp3” controls preload=”metadate” autoplay >

  <source src="soundfile.ogg" type="audio/ogg">調整相容

2.插入視訊: 支援格式:OGG、MP4、WEBM

   <video  src=”b.mp4” poster=”1.jpg”>當視訊檔案失效時,用poster圖片代替原圖片顯示,其它屬性與audio相同

   <video controls>      <source src="butterfly.mp4" type="video/mp4" >

             <source src="butterfly.ogv" type="video/ogg">

            <p>兩種格式都不支援的瀏覽器看到的是這行文字</p>

       <object type="application/x-shockwave-flash" data="flowplayer-3.2.16.swf" width="500" height="375">

    <param name="movie" value="flowplayer-3.2.16.swf">    <param name="flashvars" value='config={"clip":"butterfly.mp4"}' />

<p>如果html5標籤和flash格式都不識別,請點選下載

                      <a href="butterfly.mp4">butterfly.mp4</a>或者<a href="butterfly.ogv">butterfly.ogv</a>  </p>

</object>

  </video>

  <hr>

  <!--flash為主html5為輔,不識別點選下載a-->

  <object type="application/x-shockwave-flash" data="flowplayer-3.2.16.swf" width="500" height="375">

<param name="movie" value="flowplayer-3.2.16.swf">

<param name="flashvars" value='config={"clip":"butterfly.mp4"}' />

<video controls>

<source src="butterfly.mp4" type="video/mp4">

<source src="butterfly.ogv" type="video/ogg">

<p>如果html5標籤和flash格式都不識別,請點選下載

                      <a href="butterfly.mp4">butterfly.mp4</a>或者<a href="butterfly.ogv">butterfly.ogv</a>  </p>     

      </video>

  </object>

3.<object>元素定義了在 HTML 文件中嵌入的物件,例如在網頁中嵌入 Java 小程式, PDF 閱讀器, Flash 播放器) 。

<object width="400" height="50" data="bookmark.swf"></object>

<object width="100%" height="500px" data="snippet.html"></object>

 

4.新增html5佈局標籤

   ·<article> 標籤定義外部的內容。

外部內容可以是來自一個外部的新聞提供者的一篇新的文章,或者來自 blog 的文字,或者是來自論壇的文字。亦或是來自其他外部源內容

·<aside> 頁面或站點主題之外的內容,可用在文章的側欄

·<blockquote> 標籤定義摘自另一個源的塊引用。

·<center> 標籤對其包圍的文字進行水平居中處理。

 ·<figure> 獨立於文字流之外的一段內容,如圖片和圖示等

·<figcaption>  figure中的標題

·<header>文件的頁首

·<footer>文件的頁尾

·<nav>導航

·<section>文章的章節

·<detials>包含下拉隱藏效果的內容

·<summary>巢狀在detials中的概要或標題

·<mark>被突出標記的內容

·<meter>計量器    ·<adress>地址標記

·<program>進度指示

4.新增表單標籤

<input  type=”search”>   搜尋框

<input  type=”search”>   搜尋框

<input  type=”email”>    郵箱輸入

<input  type=”range”>   顯示進度條  

<input  type=”tel”>      電話號碼輸入      

<input  type=”number”>  數字輸入

<input  type=”URL”>   網址輸入

<input  type=”date”>    日期型別(帶時間控制元件)  

<input  type=”datetime”>  日期型別(不帶時間控制元件)

<input  type=”week”>    選擇星期(帶時間控制元件)

<input  type=”month”>   選擇年月(帶時間控制元件)

<input  type=”datetime-local”>年、月、日、時、分(帶時間控制元件)    

4.網頁title滾動

<script type="text/javascript">

function scroll() {

var titleInfo = document.title;

var firstInfo = titleInfo.charAt(0);

var lastInfo = titleInfo.substring(1, titleInfo.length);

document.title = lastInfo + firstInfo;

}

setInterval("scroll()", 500);

</script>

5.獲取地理位置

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>菜鳥學堂</title>

</head>

<body>

<p id="demo">點選按鈕獲取您當前座標(可能需要比較長的時間獲取):</p>

<button onclick="getLocation()">點我</button>

<div id="mapholder"></div>

<script src="http://maps.google.com/maps/api/js?sensor=false"></script>

<script>

var x=document.getElementById("demo");

function getLocation()

{

if (navigator.geolocation)

{

navigator.geolocation.getCurrentPosition(showPosition,showError);

}

else

{

x.innerHTML="該瀏覽器不支援獲取地理位置。";

}

}

 

function showPosition(position)

{

lat=position.coords.latitude;

lon=position.coords.longitude;

latlon=new google.maps.LatLng(lat, lon)

mapholder=document.getElementById('mapholder')

mapholder.style.height='250px';

mapholder.style.width='500px';

 

var myOptions={

center:latlon,zoom:14,

mapTypeId:google.maps.MapTypeId.ROADMAP,

mapTypeControl:false,

navigationControlOptions:{style:google.maps.NavigationControlStyle.SMALL}

};

var map=new google.maps.Map(document.getElementById("mapholder"),myOptions);

var marker=new google.maps.Marker({position:latlon,map:map,title:"You are here!"});

}

 

function showError(error)

{

switch(error.code)

{

case error.PERMISSION_DENIED:

x.innerHTML="使用者拒絕對獲取地理位置的請求。"

break;

case error.POSITION_UNAVAILABLE:

x.innerHTML="位置資訊是不可用的。"

break;

case error.TIMEOUT:

x.innerHTML="請求使用者地理位置超時。"

break;

case error.UNKNOWN_ERROR:

x.innerHTML="未知錯誤。"

break;

}

}

</script>

</body>

</html>

 

 

 

附一:.響應式佈局

      Pc: 1902px   1600px   1366px   1280px

     平板  1024px   992px    768px     ipad豎屏768X1024

     手機  767px    480px    414px     414X395  375X365

外部樣式:

  <link rel="stylesheet" href="css/1.css" media="screen">    //user-scalable=no"頁面不進行縮放

   <link rel="stylesheet" href="css/2.css" media="screen and (max-width:480px)">  

//手機頁面自適應

   <meta name="viewport" content="width:device-width,initial-scale=1.0,maximum-scale=1,user-scalable=no">   

   <!-- 以下方式只是重新整理不跳轉到其他頁面 -->

<meta http-equiv="refresh" content="10">

<!-- 以下方式定時轉到其他頁面 -->

<meta http-equiv="refresh" content="5;url=hello.html">

javascript的實現

<script language="javascript" type="text/javascript">

// 以下方式直接跳轉window.location.href='hello.html';

// 以下方式定時跳轉setTimeout("javascript:location.href='hello.html'", 5000);

</script>

匯入樣式

      <style>   @import url('css/base.css') screen;   @import url('css/1024.css') screen and (max-width:1024px);

        @import url('css/767.css') screen and (max-width:767px);

      </style>

附二:.聖盃佈局

    <header>header頭部</header>

    <nav>nav導航</nav>

    <div>

        <aside>aside側欄</aside>

    <article>article文章</article>

    </div>

    <footer>footer</footer>      

附三:大型門戶站基礎css樣式命名和應用原則

1.CSS命名規範。

  全域性樣式 base.css 公共塊的樣式;    首頁樣式 index.css

   內容頁面的樣式 content.css        頻道頁面樣式 channel.css    詳細頁面樣式 detail.css

2.頁面框架結構保留字。

頁面容器:#wrapper

頁面頭部:#header #head

頁面中心內容:#maincontent

頁面底部:#footer #foot

橫向方位容器1:main,side

橫向方位容器2:leftframe,midframe,rightframe

橫向分段容器:section,field,column

盒子內容屬性:contentbg

盒子上方屬性:topbg

盒子下方屬性:bottombg

盒子左邊屬性:leftbg

盒子右邊屬性:rightbg

3.導航保留字。

導航:nav

主導航:mainnav

子導航:subnav

頂導航:topnav

邊導航:sidebar

左導航:leftsidebar

右導航:rightsidebar

選單:menu

快速選單:quickmenu

子選單:submenu

下拉選單:dropmenu

 

4.功能保留字。

列表:list

標題:title

摘要:intro

內容:text

按扭:btn

搜尋:search

登陸:login

註冊:regsiter

提示資訊:msg

小技巧:tips

圖示: icon

滾動:scroll

 

 

 

附四

(1).一段時間後頁面自動跳轉:

    在head中<meta http-equiv=”refresh” content=”5;url=網頁地址(可設定重新整理效果)”

(2).網頁關鍵詞與介紹:

<meta name="keyword" content="廚房 廚具 衛具 廚房家電 ">

<meta name="description" content="廚房家電系列">
---------------------
作者:周瑜大人
來源:CSDN
原文:https://blog.csdn.net/qq_38266792/article/details/80525061
版權宣告:本文為博主原創文章,轉載請附上博文連結!