• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • CSS3簡介

    標簽: javascript  CSS3  前端

        文章介紹:介紹CSS3是什么以及它能夠為Web頁面做什么,還會介紹如何使用javascript有效地控制CSS3的功能

    1,特定廠商的屬性和前綴

        CSS廠商前綴是瀏覽器公司在新的或實驗性的CSS3功能成為正式的CSS3規范之前,或者在一個規范的功能還沒有最后確定之前,提供對齊支持的一種方式。當該功能通過其標準CSS3術語變得完全得到支持之后,這些前綴通常變為不必要的。

        可能使用的前綴有:

    瀏覽器:公司前綴 :  Android:-webkit-    Chrome:-webkit-   Firefox:-moz-   IE: -ms-  IOS: -webkit-  Opera: -o-

                                safari: -webkit-

        在大多數情況下,當你需要使用CSS3規范中的屬性且需要使用一個前綴的時候,針對所使用的瀏覽器,添加上面的前綴就可以了,例如,如果想要添加一個CSS過渡效果,使用transition屬性,并且先添加如下前綴:

        -webkit-transition:background 0.5s ease;

        -moz-transition:background 0.5s ease;

        -o-transition:background 0.5s ease;

        transition:background 0.5s ease;

        用戶的瀏覽器將會對它所理解的過渡功能版本做出響應,而忽略其他的版本。

        好在,瀏覽器廠商對于全面實現所有的CSS3功能竭盡全力,并且對于大多數現代瀏覽器來說,需要添加前綴的屬性的數目正在快速減少。

    #對于那些功能需要添加前綴,可以瀏覽: http://shouldiprefix.com/

    2,CSS3邊框

        CSS3允許你對邊框做一些真正很酷的事情,而這些在以前只能夠使用大量復雜的且難以維護的代碼去實現。

        下面將介紹兩個示例:邊框陰影和圓角。

    (1)創建邊框陰影

        box-shadow屬性允許你為頁面的box元素添加陰影。如下所示,可以分別為顏色,大小,模糊和偏移量指定值。

        陰影參數

    box-shadow屬性的參數
    陰影參數動作
    h-shadow(必須的)水平陰影的位置。復制1不允許的
    v-shadow(必須的)垂直陰影的位置。復制是不允許的
    blur(可選的)模糊距離
    spread(可選的)陰影的大小
    color(可選的)陰影的顏色,默認為黑色

        如下的示例使用了一個10像素寬的向下和向右伸展的陰影,在其整個寬度中模糊,并且顏色為中度灰:

    <html>
    <head>
    <title>創建邊框陰影</title>
    <style>
    #div1{
    	background-color:#8080ff;
    	width:400px;
    	height:250px;
    	box-shadow:10px 10px 10px #8080ff;
    	}
    </style>
    </head>
    <body>
    <div id="div1"></div>
    </body>
    </html>

        代碼生成的HTML頁面如下:


    (2)用border-radius屬性實現圓角

        border-radius屬性允許我們給頁面元素添加圓角,而不需要專門創建圓角圖像。

    代碼:

    <html>
    <head>
    <title>創建邊框陰影</title>
    <style>
    #div1{
    	background-color:#8080ff;
    	width:400px;
    	height:250px;
    	border-radius:25px;
    	}
    </style>
    </head>
    <body>
    <div id="div1"></div>
    </body>
    </html>

    效果:


        可以使用單獨的border-bottom-left-radius,border-top-left-radius,border-bottom-right-radius,border-top-right-radius屬性來風別指定圓角。

    3,CSS3背景

    (1)background-size屬性

        background-size屬性給CSS添加了一項新的功能,允許使用長度,百分比,或者另外的兩個關鍵字contain或cover來設置背景圖像的大小。

        使用長度和百分比來指定背景圖像的大小,這就像預期的一樣工作。對于每個背景圖像,可以提供兩個長度或百分比,分別針對寬度和高度(當使用百分比的時候,它們是相對于背景的可用空間,而不是相對于背景圖像的寬度和高度)。

        auto關鍵字用于替代width會height值,如果只為background-size指定了一個值,將會認為其是寬度。然后,高度將會默認為auto。

    (2)background-origin屬性

        background-origin屬性用于設置一個背景在框中的位置如何計算。

        它接收以下三個值之一:padding-box,border-box或content-box。

        當你提供了padding-box值,其位置相對于邊距邊緣的左上角。使用border-box,其位置相對于邊框的左上角,而content-box表示背景相對于內容的左上角來定位。

    (3)多背景圖像

        CSS3允許我們對框元素使用多個背景圖像,直接使用逗號隔開一個列表就可用了。列表的順序很重要,所提供的第1個值表示距離用戶最近的層,列表中的后續條目會作為該層之后的后續層呈現。如下是一個示例:

    #div1{
    	width:400px;
    	height:250px;
    	background-image:url(1.jpg),url(2.jpg)	
    	background-position:center bottom,left top;
    	background-repeat:no-repeat;
    	}

    4,CSS3漸變

        CSS3漸變允許你在兩種或多種指定的顏色之間生成平滑的過渡,而在此之前,必須使用圖像來實現這種效果。和使用圖像相比,使用CSS3漸變可以減少下載的時間,節省緩存空間,減少帶寬的使用,當需要縮放的時候,CSS3漸變也執行的更好。

        CSS3提供了兩種類型的漸變:線性漸變,分別沿著上/下/左/右/對角線的方向進行;還有放射漸變,從一個確定的中心點向外圍放射。

    (1)線性漸變

        要使用CSS創建線性漸變,必須至少定義兩種顏色作為漸變的端點。也可以為漸變效果設置一個起點和一個方向(即從上到下,從左到右或是對角線)。

    #div1{
    	width:400px;
    	height:250px;
    	background:linear-gradient(red,#6699cc)
    	}

        

        當不為漸變指定一個方向時,默認方向為由上到下。也可以為漸變指定一個方向,例如,假設要采用由左到右的漸變方向,可以使用 to right  如下所示,相關的還有,to top,to left, to  bottom  right.

    #div1{
    	width:400px;
    	height:250px;
    	background:linear-gradient( to right,red,#6699cc)
    	}

        

    (2)放射漸變

        放射漸變由其中心點確定,并且(和對應的線性漸變一樣)也必須至少定義兩種顏色,作為漸變效果的端點:

        background:radial-gradient(red,#6699cc)

        這種方式所定義的放射漸變如下圖所示


        也可以使用關鍵字at,為放射漸變的中心設置一個位置參數:

        background:radial-gradient(at top left,red,#6699cc);

        效果如下圖所示


        CSS3 漸變能做的還很多,還包括使用兩種以上的顏色,透明度,以及修改漸變的形狀和大小等,具體的介紹可見W3C的文檔:  http://www.w3.org/TR/2011/WD-css3-images-20110217/。

    5,CSS3文本效果

        CSS3包含了一些新的功能來幫助操作文本。

    (1)文本陰影

        box-shadow屬性可以對塊元素添加陰影,在CSS3中,text-shadow屬性為文本添加陰影的方式如出一轍。我們為陰影指定水平和垂直的陰影距離以及可選的模糊距離,并且指定陰影顏色:

    h3{
    	text-shadow:10px 10px 3px #333;
    	font-size:26px;
    	}

    效果如下所示:


    (2)單詞換行

        如果一句話太長了,以至于塊元素無法包含它,它會超出其容器的范圍。在CSS3中,可以使用word-wrap屬性強制讓單詞換行,即便是必須從一個單詞的中間換行也可以:

        p{

            word-wrap: break-word;

        }

    6,CSS3過渡,變換和動畫

        傳統上,程序員必須使用定制的javascript代碼在頁面元素中創建動畫,要一跨瀏覽器的方式實現這一點將會很麻煩。如果有一種容易的方式能夠為頁面上的元素添加簡單的效果,情況就會好很多

        CSS3中現在引入了這些功能,以過度,變換和動畫的形式呈現。在大多數瀏覽器中,它們以及得到了不同程度的支持。在如下的簡單示例中,我們添加了一個過渡效果(在那些支持它的瀏覽器中),以便在鏈接上懸停的時候變換背景顏色。隨著背景顏色的變化,過渡效果將平滑的進行。

        如下是針對示例鏈接的代碼:

    <html>
    <head>
    <title>顏色漸變</title>
    <style>
    a.trans{
    	background:#669999;
    	transition:background 0.5s ease;
    	}
    a.trans:hover{
    	background:#999966;
    	}
    </style>
    </head>
    <body>
    <a href="somepage.html" class="trans" id="link1">show me</a>
    </body>
    </html>

    效果如下:

     

    7,在javascript中引用CSS3屬性

        CSS3和javascript組合起來,提供了一些很好的效果,而且性能不錯,可靠性高,并且將代碼的復雜度最小化。在本節中,我們將介紹在javascript代碼中成功地獲取和設置CSS3屬性的一些方法。

    (1)DOM getComputedStyle()方法

        現在,幾乎所有的瀏覽器都支持DOM getConputedStyle()方法,它可以訪問一個元素的最終的(也就是計算后的)樣式。最終樣式,指的是瀏覽器(以適當的順序)應用了與該元素相關的所有樣式規則之后,最終線上該元素的樣式。getComputedStyle()方法返回一個對象,該對象帶有各種方法,包括getPropertyValue(property)方法,這個方法返回了給定的CSS屬性名的當前值:

        var myDiv = document.getElementById("div1");

        var bRad = getComputedStyle(myDiv).getPropertyValue("borderRadius");

    一段使用按鈕控制效果的小程序:

    <title>實現一個光照效果</title>
    <style>
    #div1{
    	width:600px;
    	height:350px;
    	background-color:#6699cc;
    	}
    #div2{
    	background-color:#aaaaff;
    	width:80px;
    	height:80px;
    	padding:20px;
    	position:relative;
    	left:240px;
    	top:105px;
    	box-shadow:10px -10px 10px #808080;
    	}
    </style>
    <script>
    	window.onload = function(){
    		document.getElementById("btn1").onclick = function(){
    				document.getElementById("div1").style.background = "linear-gradient(to right,red,#6699cc)"
    			}
    		document.getElementById("btn2").onclick = function(){
    				document.getElementById("div1").style.background = "linear-gradient(to top,red,#6699cc)"
    			}
    		document.getElementById("btn3").onclick = function(){
    				document.getElementById("div1").style.background = "linear-gradient(to top right,red,#6699cc)"
    			}
    		}
    		
    </script>
    </head>
    <body>
    <div id = "div1">
    	<div id="div2">
    		LIGHTS:<br/>
    		<input type="button" id="btn1" value="Top Lfet"></br>
    		<input type="button" id="btn2" value="Top Right"></br>
    		<input type="button" id="btn3" value="Bottom">
    	</div>
    </div>
    </body>
    </html>



    版權聲明:本文為qq_39263663原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_39263663/article/details/80294718

    智能推薦

    CSS3初步

    一、CSS與CSS3的區別 非常簡單,CSS代表“Casading Style Sheets”,就是樣式表,是一種替代并為網站添加樣式的標記性語言。現在所使用的CSS基本是在1998年推出的CSS2的基礎上發展而來的。10年前在internet開始普及的時候,就能夠使用樣式表對網頁進行視覺效果的統一編輯,但是在10年間CSS基本沒有什么太大的變化,一直到2010年終于推出了...

    CSS3

    CSS3好看的特效網址: http://www.lanrenzhijia.com/js/css3/ http://www.5iweb.com.cn/ http://www.chinaz.com/design/2012/0820/270175.shtml http://www.php100.com/html/it/focus/2014/1108/7747.html http://www.cnblog...

    CSS3屬性

    transition 過渡(transition)是CSS3中具有顛覆性的特征之一,我們可以在不使用 Flash 動畫或 JavaScript 的情況下,當元素從一種樣式變換為另一種樣式時為元素添加效果。 屬性 描述 transition 簡寫屬性,用于在一個屬性中設置四個過渡屬性。 transition-property 規定應用過渡的 CSS 屬性的名稱。 transition-duratio...

    css3

    1)動畫 1.Animation 1>屬性 animation-name:指定選用的動畫的名字,即keyframes中的NAME。 animation-duration:動畫效果持續的時間,秒。 animation-timing-function:過渡類型  linear 勻速|ease 緩存|ease-in 加速|ease-out 減速| ease-in-out 先加速...

    css3 漸變

    css3 ps: css越來越真正的像一門語言了,css已經有變量了,剛剛看到文檔中。一個實驗性質的功能。 漸變 漸變分為兩種漸變,一種是線性漸變,一種是徑向漸變 線性漸變 線性漸變為向上,向下,向左,向右兩種漸變方式。 linear-gradient()函數 此為css的一個函數。線性漸變由一個軸即梯度線構成。其上的每個點具有兩種或多種顏色。其軸上的每個點具有獨立的顏色。為了構建出平滑的漸變,該...

    猜你喜歡

    css3過渡

    css過渡 css過渡為一種狀態到另外一種狀態的變換 transition 過渡 transition 為一個簡寫屬性,是一個transition-property (定義過渡的屬性的名稱)以及 transition-duration (定義過渡屬性的所需動畫的時間)和 transition-timing-function (描述中間值如何計算的) 以及 transition-delay (描述過...

    CSS3學習

    *************************************************** 一、css邊框border border-radius(圓角) border-box(陰影) border-image(圖片) 二、css背景 background-image(背景圖) background-size(背景大小) background-clip(指定位置開始繪制) backgr...

    css3動畫

    css3動畫特效 一、transform(轉換動畫、直接動畫) 1.rotate(旋轉) 包含三種狀態,x、y、z三軸的變化 rotatex、rotatey、rotatez(默認) 旋轉(rotate)實例 2.translate(平移) 包含三種狀態,x、y、z三軸的變化 translatex(默認)、translatey、translatez 平移(translate)實例 3.skew(變形...

    css3(2)

    一、偽類選擇器 1.內容生成 內容既可以是文本,也可以是元素 1.1::before或者:before 1.2::after或者:after 1.3內容屬性 向匹配的位置處添加內容 取值:1.字符串2.圖片 url(路徑) 1.4高度坍塌 1.5外邊距溢出 二、彈性布局 1.什么是彈性布局 主要解決一個元素中的子元素的布局方式,為布局提供最大的靈活性 2.彈性布局的概念 2.1.彈性布局的容器 要...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    精品国产乱码久久久久久蜜桃不卡