亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

CSS3實例學習教程:data類型的Url

2024-07-11 09:02:21
字體:
來源:轉載
供稿:網友

武林網(www.49028c.com)文章簡介:小例子:下面這個html代碼可以在支持data類型Url的瀏覽器中運行,例如Firefox。

所謂"data"類型的Url格式,是在RFC2397中 提出的,目的對于一些“小”的數據,可以在網頁中直接嵌入,而不是從外部文件載入。例如對于img這個Tag,哪怕這個圖片非常非常的小,小到只有一個 點,也是要從另外一個外部的圖片文件例如gif文件中讀入的,如果瀏覽器實現了data類型的Url格式,這個文件就可以直接從頁面文件內部讀入了。

data類型的Url格式早在1998年就提出了,時至今日,Firfox、Opera、Safari和Konqueror這些瀏覽器都已經支持,但是IE直到7.0版本都還沒有支持,IE不支持的東西太多了,也不差這一個。:(

小例子:下面這個html代碼可以在支持data類型Url的瀏覽器中運行,例如Firefox。

運行后會看到一條藍色漸變底色的標題。

01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

02 "">

03 <html xmlns="" >

04 <head>

05 <style type="text/css">

06 .title {

07 background-image:url(data:image/gif;base64,R0lGODlhAQAcALMAAMXh96HR97XZ98Hf98Xg97DX97nb98Lf97vc98Tg973d96rU97ba97%2Fe96XS9wAAACH5BAAAAAAALAAAAAABABwAAAQVMLhVBDNItXESAURyDI2CGIxQLE4EADs%3D);

08 background-repeat:repeat-x;

09 height:28px;

10 line-height: 28px;

11 text-align:center;

12 }

13 </style>

14 </head>

15 <body>

16 <div class="title">Hello, world!</div>

17 </body>

18 </html>

 

這個漸變的藍色底色實際上是用一個1x28的小圖片通過橫行重復(repeat-x)形成的。

這個圖片很小,不過104個字節,直接嵌入到html或css文件還是很合適的。

data格式的Url最直接的好處是,這些Url原本會引起一個新的網絡訪問,因為那里是一個網頁的地址,現在不會有新的網絡訪問了,因為現在這里是網頁的內容。這樣做,會減少服務器的負載,

當然同時也增加了當前網頁的大小。所以對“小”數據特別有好處。

data類型Url的形式

既然是Url,當然也可以直接在瀏覽器的地址欄中輸入。

data:text/html,<html><body><p><b>Hello, world!</b></p></body></html>

在瀏覽器中輸入以上的Url,會得到一個加粗的"Hello, world!"。

也就是說,data:后面的數據直接用做網頁的內容,而不是網頁的地址。

簡單的說,data類型的Url大致有下面幾種形式。

 

01 data:,<文本數據>

02 data:text/plain,<文本數據>

03 data:text/html,<HTML代碼>

04 data:text/html;base64,<base64編碼的HTML代碼>

05 data:text/css,<CSS代碼>

06 data:text/css;base64,<base64編碼的CSS代碼>

07 data:text/javascript,<Javascript代碼>

08 data:text/javascript;base64,<base64編碼的Javascript代碼>

09 data:image/gif;base64,base64編碼的gif圖片數據

10 data:image/png;base64,base64編碼的png圖片數據

11 data:image/jpeg;base64,base64編碼的jpeg圖片數據

12 data:image/x-icon;base64,base64編碼的icon圖片數據

 

因為Url是一種基于文本的協議,所以gif/png/jpeg這種二進制屬于需要用base64進行編碼。

換句話說,引入base64以后,就可以支持任意形式的數據格式。

可以在Html的Img對象中使用,例如

<img src="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAF..." />

可以在Css的background-image屬性中使用,例如

 

1 div.image {

2 width:100px;

3 height:100px;

4 background-image:url(data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAF...);

5 }

 

可以在Html的Css鏈接處使用,例如

<link rel="stylesheet" type="text/css"

href="data:text/css;base64,LyogKioqKiogVGVtcGxhdGUgKioq..." />

可以在Html的Javascript鏈接處使用,例如

<script type="text/javascript"

href="data:text/javascript;base64,dmFyIHNjT2JqMSA9IG5ldyBzY3Jv..."></script>完整的語法定義

在RFC中,完整的語法定義如下。

dataurl := "data:" [ mediatype ] [ ";base64" ] "," data

mediatype := [ type "/" subtype ] *( ";" parameter )

data := *urlchar

parameter := attribute "=" value

urlchar指的就是一般url中允許的字符,有些字符需要轉義,

例如"="要轉義為"%3D",不過我測試下來,至少在Firefox里面,不轉義也是可以的。

parameter可以對mediatype進行屬性的擴展,常見的是charset,用來定義編碼格式,在多語言情況下需要用到。

例如下面的例子。

data:text/plain;charset=UTF-8;base64,5L2g5aW977yM5Lit5paH77yB

這個例子會顯示出"你好,中文!"。如果吧charset部分去掉,就會顯示亂碼,因為我用的是UTF-8編碼。

Firefox有一個data類型Url的測試頁面,列出了各種格式的data類型Url的測試Url,和測試結果說明。

base64編碼和內容的隱秘

把二進制數據轉換成為Base64不是什么難事,比如Total Commander就有這樣的功能。還有一些在線資源,

有些在線轉換把base64里面的“=”轉換成為%3D,這個在Url中和“=”是一樣的,不轉換也沒什么問題。

當然,這種Url還有一種隱秘的好處,就是將一些道貌岸然者不喜歡的東西,堂而皇之的放在頁面上。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清视频一区二区| 欧美天天综合色影久久精品| 色无极影院亚洲| 亚洲电影免费观看高清完整版在线| 777午夜精品福利在线观看| 91亚洲精品久久久久久久久久久久| 欧美日本啪啪无遮挡网站| 久久精品视频播放| 欧美大片在线看| 午夜精品美女自拍福到在线| 亚洲欧洲日产国产网站| 精品爽片免费看久久| 日韩国产一区三区| 久久夜色精品亚洲噜噜国产mv| 国产精品视频xxxx| 最近2019免费中文字幕视频三| 亚洲美女av在线| 国语对白做受69| 欧美日韩在线免费| 欧美激情视频在线| 高清在线视频日韩欧美| 国产亚洲综合久久| 色诱女教师一区二区三区| 国产精品精品一区二区三区午夜版| 国产精品久久久久77777| 久久久久亚洲精品| 91在线无精精品一区二区| 国产91久久婷婷一区二区| 成人黄色免费片| 久久久久久久久爱| 国内免费精品永久在线视频| 国产91对白在线播放| 日韩av片永久免费网站| 97香蕉超级碰碰久久免费软件| 欧美专区在线观看| 久久久精品久久| 伊人久久免费视频| 夜夜嗨av一区二区三区四区| 亚洲欧美自拍一区| 欧洲中文字幕国产精品| 欧美日韩中文字幕综合视频| 国产一区二区三区在线观看网站| 久久91精品国产91久久久| 日本精品一区二区三区在线| 国产91精品久久久久久| 国产成人精品电影久久久| 国产精品黄色影片导航在线观看| 欧美一级大片视频| 91网站免费看| 欧美精品18videosex性欧美| 欧美丰满少妇xxxxx做受| 久久精品国产v日韩v亚洲| 91牛牛免费视频| 欧美高清自拍一区| 亚洲欧美福利视频| 亚洲视频网站在线观看| 亚洲理论电影网| 亚洲黄色免费三级| 欧美国产日韩一区二区在线观看| 91老司机在线| 国产精品嫩草影院久久久| 日韩暖暖在线视频| 久久久国产一区二区| 欧美性猛交xxx| 色诱女教师一区二区三区| 久久久精品影院| 精品久久久中文| 欧美精品在线看| 国产99久久精品一区二区 夜夜躁日日躁| 一区国产精品视频| 欧美成人免费观看| 欧美一级淫片videoshd| 久久五月情影视| 狠狠躁天天躁日日躁欧美| 在线播放日韩专区| 国内精品美女av在线播放| 91在线视频免费| 红桃av永久久久| 成人午夜高潮视频| 国产精品久久久久av| 日韩精品极品视频免费观看| 亚洲国产精品福利| 亚洲第一精品福利| 色噜噜久久综合伊人一本| 国产成人综合精品在线| 日韩一区二区欧美| 亚洲男人第一av网站| 亚洲精品美女久久| 国产精品一区二区三| 亚洲色图狂野欧美| 国产激情综合五月久久| 日韩美女中文字幕| 国产美女直播视频一区| 色噜噜久久综合伊人一本| 中文字幕成人精品久久不卡| 久久久久在线观看| 俺去亚洲欧洲欧美日韩| 国产亚洲欧洲黄色| 国产综合久久久久| 日本精品免费一区二区三区| 亚洲最大福利网站| 91在线视频一区| 国产成人欧美在线观看| 欧美性视频精品| 亚洲最大中文字幕| 久久久久久久999| 国产精品一区av| 国产精品69av| 97视频在线观看免费高清完整版在线观看| 欧美日韩激情美女| 欧美精品一区三区| 怡红院精品视频| 亚洲国产一区自拍| 亚洲free性xxxx护士hd| 亚洲精品白浆高清久久久久久| 国产一区二区成人| 国产精品96久久久久久| 青草热久免费精品视频| 深夜福利91大全| 亚洲最大福利网| 国产精品视频久久久久| 亚洲全黄一级网站| 欧美激情精品久久久久久免费印度| 91精品国产综合久久久久久久久| 在线看日韩av| 亚洲女人被黑人巨大进入| 欧美日韩亚洲高清| 在线日韩欧美视频| 热久久美女精品天天吊色| 不用播放器成人网| 国产一区av在线| 欧美一区二粉嫩精品国产一线天| 精品无人国产偷自产在线| 欧美午夜视频在线观看| 精品国产欧美一区二区三区成人| 日本高清不卡的在线| 欧美大胆在线视频| 国产成人精品av| 欧美日韩国产va另类| 国产亚洲综合久久| 91超碰中文字幕久久精品| 福利一区福利二区微拍刺激| 国产精品久在线观看| 国产精品久久77777| 久久亚洲精品国产亚洲老地址| 中文字幕欧美精品日韩中文字幕| 国产精品黄页免费高清在线观看| 亚洲自拍另类欧美丝袜| 91精品久久久久久久久不口人| 日韩最新免费不卡| 欧美日韩亚洲系列| 国产精品久久久| 欧美激情日韩图片| 精品成人在线视频| 日韩视频免费在线观看| 日韩av电影免费观看高清| 欧美性理论片在线观看片免费| 成人做爰www免费看视频网站| 亚洲第一黄色网| 中文字幕欧美国内| 51精品在线观看| 久久精品电影一区二区| 亚洲国产91精品在线观看| 97久久精品人搡人人玩|