整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          html5+css3實現特殊網頁效果11例

          TML 是用來描述網頁的一種語言。

          HTML 指的是超文本標記語言 (Hyper Text Markup Language)

          HTML 不是一種編程語言,而是一種標記語言 (markup language)

          標記語言是一套標記標簽 (markup tag)

          HTML 使用標記標簽來描述網頁

          HTML5 是最新的 HTML 標準。

          HTML5 是專門為承載豐富的 web 內容而設計的,并且無需額外插件。

          HTML5 擁有新的語義、圖形以及多媒體元素。

          HTML5 提供的新元素和新的 API 簡化了 web 應用程序的搭建。

          HTML5 是跨平臺的,被設計為在不同類型的硬件(PC、平板、手機、電視機等等)之上運行。

          CSS 是一種描述 HTML 文檔樣式的語言。

          CSS 描述應該如何顯示 HTML 元素。

          CSS 用于控制網頁的樣式和布局。

          CSS3 是最新的 CSS 標準。

          CSS3 被拆分為"模塊"。主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。

          CSS3的新特征有很多,例如圓角效果、圖形化邊界、塊陰影與文字陰影、使用RGBA實現透明效果、漸變效果、使用@Font-Face實現定制字體、多背景圖、文字或圖像的變形處理(旋轉、縮放、傾斜、移動)、多欄布局、媒體查詢等。

          1 標注效果

          要實現如下效果:

          HTML5:

          <ruby>
          少<rt>shào</rt>小<rt>xiǎo</rt>離<rt>lí</rt>家<rt>jiā</rt>老<rt>lǎo</rt>大<rt>dà</rt>回<rt>huí</rt>
          </ruby>,
          <ruby>
          鄉<rt>xiāng</rt>音<rt>yīn</rt>無<rt>wú</rt>改<rt>gǎi</rt>鬢<rt>bìn</rt>毛<rt>máo</rt>衰<rt>cuī</rt>
          </ruby>。

          2 與文本換行相關的屬性


          使用說明

          line-break

          用于指定如何(或是否)斷行。除了Firefox,其它瀏覽器都支持。取值包括:
          auto,使用缺省的斷行規則分解文本;
          loose,使用最松散的斷行規則分解文本,一般用于短行的情況,如報紙;
          normal,使用最一般的斷行規則分解文本;
          strict,使用最嚴格的斷行原則分解文本。

          word-wrap

          允許長單詞或URL地址換行到下一行。所有瀏覽器都支持。取值包括:
          normal,只在允許的斷字點換行(瀏覽器保持默認處理);
          break-word,在長單詞或 URL 地址內部進行換行。

          word-break

          定義文本自動換行。Chrome和Safari瀏覽器支持不夠友好。取值包括:
          normal:為默認值,允許在字內換行;
          keep-all,對于中文、韓文、日文,不允許字斷開;
          break-all,與normal相同,允許非亞洲語言文本行的任意字內斷開。

          white-space

          設置如何處理元素中的空格。所有瀏覽器都支持。取值包括:
          normal,默認處理方式;
          pre,顯示預先格式化的文本,當文字超出邊界時不換行;
          nowrap, 強制在同一行內顯示所有文本,合并文本間的多余空白,直到文本結束或者遭遇br對象;
          pre-wrap,顯示預先格式化的文本,不合并文字間的空白距離,當文字碰到邊界時發生換行;
          pre-line, 保持文本的換行,不保留文字間的空白距離,當文字碰到邊界時發生換行。

          3 text-shadow

          要實現的效果:

          CSS3:

          p {
              text-align: center;
              font: bold 60px helvetica, arial, sans-serif;
              color: #fff;
              text-shadow: black 0.1em 0.1em 0.2em;
          }

          要實現的效果:

          CSS3:

          p {
              text-align: center;
              font:bold 60px helvetica, arial, sans-serif;
              color: red;
              text-shadow: 0 0 4px white, 
                  0 -5px 4px #ff3, 
                  2px -10px 6px #fd3, 
                  -2px -15px 11px #f80, 
                  2px -25px 18px #f20;
          }

          要實現的效果:

          CSS3:

          p {
              text-align: center;
              padding: 24px;
              margin: 0;
              font-family: helvetica, arial, sans-serif;
              font-size: 80px;
              font-weight: bold;
              color: #D1D1D1;
              background: #CCC;
              text-shadow: -1px -1px white,  
                  1px 1px #333;
          }

          要實現的效果:

          CSS3:

          p {
              text-align: center;
              padding: 24px;
              margin: 0;
              font-family: helvetica, arial, sans-serif;
              font-size: 80px;
              font-weight: bold;
              color: #D1D1D1;
              background: #CCC;
              text-shadow: 1px 1px white,  
                  -1px -1px #333;
          }

          4 border的transparent屬性

          要實現的效果:

          CSS3:

          #demo {
              width: 0;
              height: 0;
              border-left: 50px solid transparent;
              border-right: 50px solid transparent;
              border-bottom: 100px solid red;
          }

          要實現的效果:

          CSS3:

          #demo {
              width: 0;
              height: 0;
              border-left: 50px solid transparent;
              border-right: 50px solid transparent;
              border-top: 100px solid red;
          }

          要實現的效果:

          CSS3:

          #demo {
              width: 0;
              height: 0;
              border-top: 50px solid transparent;
              border-right: 100px solid red;
              border-bottom: 50px solid transparent;
          }

          要實現的效果:

          CSS3:

          #demo {
              height: 0;
              width: 120px;
              border-bottom: 120px solid #ec3504;
              border-left: 60px solid transparent;
              border-right: 60px solid transparent;
          
          }

          5 transform: rotate

          要實現的效果:

          CSS3和HTML5:

          <style type="text/css">
          .bubble {
              width: 200px; /*定義框大小,可忽略,讓消息框自由收縮*/
              height: 50px;
              background:hsla(93,96%,62%,1); /*定義背景色,必須與下面箭頭背景色一致*/
              padding: 12px;  /*增加補白,防止消息文本跑到框外*/
              position: relative; /*定義定位包含框,方便定位箭頭*/
              -moz-border-radius: 8px;
              -webkit-border-radius: 8px;
              border-radius: 8px;   /*圓角*/
          }
          .bubble:before { 
              content: "";   /*不顯示任何內容*/
              width: 0;  /*定義箭頭內容區大小*/
              height: 0;
              position: absolute;  /*絕對定位*/
              z-index:-1;  /*顯示在消息框下面*/
          }
          .bubble.bubble-left:before {
              right: 90%;
              top: 50%;
              
              -webkit-transform: rotate(-25deg);
              -moz-transform: rotate(-25deg);
              transform: rotate(-25deg);  /*定位箭頭傾斜角度*/
              /*定義箭頭長短、粗細*/
              border-top: 20px  solid transparent;
              border-right: 80px  solid hsla(93,96%,62%,1);
              border-bottom: 20px  solid transparent;
          
          }
          
          div {
              margin:50px;
          }
          
          <div class="bubble bubble-left">左側消息提示框<br>class="bubble bubble-left"</div>

          6 background: repeating-linear-gradient

          要實現的效果:

          CSS3:

          html, body {
              margin: 0;
              padding: 0;
              height: 100%;
          }
          body {
              background: -webkit-repeating-linear-gradient(to top, #f9f9f9, #f9f9f9 29px, #ccc 30px);
              background: repeating-linear-gradient( to top, #f9f9f9, #f9f9f9 29px, #ccc 30px );
              background-size: 100% 30px;
              position: relative;
          }
          body:before {
              content: "";
              display: inline-block;
              height: 100%;
              width: 4px;
              border-left: 4px double #FCA1A1;
              position: absolute;
              left: 30px;
          }

          需要實現的效果:

          CSS3:

          .box {
              background: linear-gradient(-135deg, #f00 30px, #fff 30px, #162e48 32px);
              color: #fff;
              padding: 12px 24px;
          }

          7 實現選項卡效果

          <script>
          function setTab(cursel,n){
          	    for(i=1;i<=n;i++){
          	        	var menu=document.getElementById("tab_"+i);
          	        	var con=document.getElementById("con_"+i);
          	        	menu.className=i==cursel?"hover":"";
          	        	con.style.display=i==cursel?"block":"none";
          	    }
          }
          </script>
          
          <div id="tab">
              <div class="Menubox">
                  <ul>
                      <li id="tab_1" class="hover" onclick="setTab(1,4)">明星</li>
                      <li id="tab_2" onclick="setTab(2,4)">搞笑</li>
                      <li id="tab_3" onclick="setTab(3,4)">美女</li>
                      <li id="tab_4" onclick="setTab(4,4)">攝影</li>
                  </ul>
              </div>
              <div class="Contentbox">
                  <div id="con_1" class="hover" ><img src="images/1.png" /></div>
                  <div id="con_2" class="hide"><img src="images/2.png" /></div>
                  <div id="con_3" class="hide"><img src="images/3.png" /></div>
                  <div id="con_4" class="hide"><img src="images/4.png" /></div>
              </div>
          </div>
          </body>

          8 表格隔行添加背景色

          CSS3:

          tbody tr:nth-child(2n) {
              background-color: #f5fafe;
          }

          9 border-radius

          圓角表格的CSS3:

          .bordered tr:last-child td:last-child {
              -moz-border-radius: 0 0 6px 0;
              -webkit-border-radius: 0 0 6px 0;
              border-radius: 0 0 6px 0;
          }

          10 border-spacing

          單線表格的CSS3:

          table {
              *border-collapse: collapse; /* IE7 and lower */
              border-spacing: 0;
              width: 100%;
          }

          11 box-shadow

          設計圖片翹邊陰影效果:

          CSS3:

          .box {
              width: 980px;
              clear: both;
              overflow: hidden;
              height: auto;
              margin: 20px auto;
          }
          .box li {
              background: #fff;
              float: left;
              position: relative;
              margin: 20px 10px;
              border: 2px solid #efefef;
              -webkit-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
              -moz-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
              -o-box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
              box-shadow: 0 1px 4px rgba(0,0,0,0.27), 0 0 4px rgba(0,0,0,0.1) inset;
          }
          .box li img {
              width: 290px;
              height: 200px;
              margin: 5px;
          }
          .box li:before {
              content: "";
              position: absolute;
              width: 90%;
              height: 80%;
              bottom: 13px;
              left: 21px;
              background: transparent;  /*透明背景*/
              z-index: -2;   /*顯示在照片的下面*/
              box-shadow: 0 8px 20px rgba(0,0,0,0.8);  /*添加陰影*/
              -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
              -o-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
              -moz-box-shadow: 0 8px 20px rgba(0,0,0,0.8);
              transform: skew(-12deg) rotate(-6deg);   /*變形并旋轉陰影,讓其翹起*/
              -webkit-transform: skew(-12deg) rotate(-6deg);
              -moz-transform: skew(-12deg) rotate(-6deg);
              -os-transform: skew(-12deg) rotate(-6deg);
              -o-transform: skew(-12deg) rotate(-6deg);
          }
          .box li:after { /*在左側添加翹邊陰影*/
              content: "";
              position: absolute;
              width: 90%;
              height: 80%;
              bottom: 13px;
              right: 21px;
              z-index: -2;
              background: transparent;
              box-shadow: 0 8px 20px rgba(0,0,0,0.8);
              transform: skew(12deg) rotate(6deg);
              -webkit-transform: skew(12deg) rotate(6deg);
              -moz-transform: skew(12deg) rotate(6deg);
              -os-transform: skew(12deg) rotate(6deg);
              -o-transform: skew(12deg) rotate(6deg);
          }
          
          <ul class="box">
              <li><img src="images/1.jpg" /></li>
              <li><img src="images/2.jpg" /></li>
              <li><img src="images/3.jpg" /></li>
          </ul>

          ref

          《HTML5+CSS3+JavaScript從入門到精通(實例版)》

          -End-

          次我們展示多個圖標動畫特效!上次有人在問,為什么不寫 font-family,就調用不了圖標。很簡單,你在 @font-face 中,指定 font-family 名字為 'FishC-icon';

          @font-face {

          font-family:'FishC-icon';

          src: url('font/icons.ttf'), url('font/icons.eot'), url('font/icons.woff'), url('font/icons.svg');

          }

          那么在偽元素中就要告訴腳本,勞資就用'FishC-icon'里的圖標!

          這次因為有多個動畫對象,所以用延遲參數形成動畫序列,先寫 5 個 div 吧

          <!DOCTYPE html>

          <html lang="en">

          <head>

          <meta charset="UTF-8">

          <title>圖標元素2</title>

          <style type="text/css">

          @font-face {

          font-family:'FishC-icon';

          src: url('font/icons.ttf'), url('font/icons.eot'), url('font/icons.woff'), url('font/icons.svg');

          }

          .icon{

          display: inline-block;

          margin-right: 33px;

          }

          .android::before{

          content: "\e65f";

          font-size: 66px;

          font-family: 'FishC-icon';

          }

          .app::before{

          content: "\e660";

          font-size: 66px;

          font-family: 'FishC-icon';

          }

          .page::before{

          content: "\e64d";

          font-size: 66px;

          font-family: 'FishC-icon';

          }

          .show::before{

          content: "\e647";

          font-size: 66px;

          font-family: 'FishC-icon';

          }

          .victor::before{

          content: "\e648";

          font-size: 66px;

          font-family: 'FishC-icon';

          }

          </style>

          </head>

          <body>

          <div class="android icon">Android</div>

          <div class="app icon">Apple</div>

          <div class="page icon">Page</div>

          <div class="show icon">Show</div>

          <div class="victor icon">Victor</div>

          </body>

          </html>

          效果圖:

          此時由于沒有隱藏文字,這是上一講的點睛之筆 ,有興趣自己去找。但不同之處在于此處的圖標都設置為“inline-block”,使之能夠橫向排列。現在修改樣式

          .icon{

          display: inline-block;

          cursor: help;

          width: 111px;

          height: 111px;

          font-size: 0px;

          line-height: 100px;

          border-radius: 50%;/*圓框*/

          background:#7FE;

          color: #000;

          text-align: center;

          animation:move 1s

          }

          效果圖:

          例如,使圖標位置向下偏移 -100%。

          然后在向上移動回到初始位置,此過程中讓圖標從完全透明化變為完全不透明。

          @keyframes move{

          from{

          opacity: 0;

          transform: translateY(100%);

          }

          to{

          opacity: 1;

          transform: translateY(0%);

          }

          }


          效果圖:

          利用 transform 屬性的 translateY 方法來實現圖標的向下偏移。

          然后使用 opacity 屬性設置圖標的透明度,0.0 (完全透明)到 1.0(完全不透明)。

          由于未設置單個圖標的延遲,所以一下子 5 個同時出現。

          既然提到了延遲,那就設置一下咯~

          使用 animation-delay 屬性設置延遲:

          .android{

          animation-delay: 0s;

          }

          .app{

          animation-delay: .3s;

          }

          .page{

          animation-delay: .6s;

          }

          .show{

          animation-delay: 1.2s;

          }

          .victor{

          animation-delay: 1.5s;

          }


          效果圖:

          光這么直棱棱也不好玩。

          然后我們自己設置貝塞爾(cubic-bezier)速度曲線,達到不同速率節奏效果

          假設你穿越成功,會看到:

          拖動粉點(起始點),藍點(終點)即可以生成坐標。



          生成的結果為 cubic-bezier(.86,.15,.18,.9)。

          .icon{

          animation-fill-mode: both;

          animation: move 2s cubic-bezier(.86,.15,.18,.9);

          }

          效果圖:


          其中 animation-fill-mode 屬性用來屬性規定動畫在播放之前或之后,其動畫效果是否可見。。



          設置完成后,防止圖標閃現。

          學習HTML5開發培訓,到重慶千鋒教育,千鋒重慶HTML5開發培訓怎么樣?千鋒提供兩周免費試聽課程,歡迎你來試聽。

          TML5的canvas技術制作網頁酷炫效果,可用于網頁首頁展示效果,增強用戶體驗!

          效果隨著你的點擊或者鼠標觸發即可隨時變化閃動的粒子!

          實現方法:

          html:

          css:

          js代碼:


          主站蜘蛛池模板: 日本一区二区三区在线观看视频 | 国产精品盗摄一区二区在线| 好爽毛片一区二区三区四| 亚拍精品一区二区三区| 夜夜添无码一区二区三区| 国产丝袜无码一区二区三区视频| 国产成人精品久久一区二区三区av| 国产成人精品视频一区| 久久精品国产一区二区三| 国产对白精品刺激一区二区| 精品久久国产一区二区三区香蕉| 免费一区二区无码视频在线播放| 99久久无码一区人妻a黑| 免费播放一区二区三区| 最新中文字幕一区| 欧洲精品码一区二区三区免费看| 一区二区三区福利| 视频一区在线免费观看| 亚洲欧洲一区二区| 久久精品无码一区二区app| 亚洲日韩精品一区二区三区无码| 91在线视频一区| 亚洲人成网站18禁止一区| 国模大尺度视频一区二区| 亚洲av成人一区二区三区在线播放| 中文字幕无线码一区| 在线观看国产一区二区三区| 精品少妇ay一区二区三区 | 一区二区亚洲精品精华液| 亚洲不卡av不卡一区二区| 国产精品一区二区久久精品无码| 精品国产免费一区二区| 无码中文字幕乱码一区 | 成人无码AV一区二区| 国产亚洲情侣一区二区无码AV| 国产精品无码一区二区三区免费| 波多野结衣AV一区二区三区中文| 亚洲福利视频一区二区三区| 久久精品国产第一区二区三区 | 亚洲日韩AV无码一区二区三区人| 精品一区二区三区波多野结衣|