randomColor是一個生成隨機顏色的JavaScript腳本,對于寫代碼的我們來說,生成一個隨機顏色或許并不復雜,但是想要生成一個比較吸引人的隨機顏色可能是需要花費一番功夫的,但如果已經有人實現了這樣一個小功能,那么我們直接使用即可,不需要再花費心思研究那么深,一起來看看吧!
randomColor已移植到C#,C ++,Go,Haskell,Mathematica,PHP,Python,Swift,Perl6,Objective-C,Java,R,Reason和Rust。
https://github.com/davidmerfield/randomColor
本文只是簡單介紹下在瀏覽器中使用,我相信在Web開發中使用的還是最多的,我們可以直接使用cdn或者下載腳本下來直接引入:
var color=randomColor();
要在服務器上使用帶有node.js的randomColor,請從npm安裝randomColor,然后調用腳本:
var randomColor=require('randomcolor'); // 引入
var color=randomColor(); // 16進制
可以傳遞配置對象以便于產生特定的結果出來:
hue ——控制生成的顏色的色調。可以傳代表顏色名稱的字符串:當前支持紅色,橙色,黃色,綠色,藍色,紫色,粉紅色和黑白(red, orange, yellow, green, blue, purple, pink 和 monochrome)。如果您傳遞十六進制顏色字符串(例如#00FFFF),則randomColor將提取其色相值并使用該值生成顏色
luminosity——控制所生成顏色的亮度。您可以指定一個包含亮,亮或暗的字符串(bright, light or dark)。
count——指定要生成的顏色數
seed 一個整數或字符串,該整數或字符串在傳遞時將導致randomColor每次返回相同的顏色。
format ——指定生成的顏色的格式。可能的值為rgb,rgba,rgbArray,hsl,hsla,hslArray和hex(默認值)。
alpha ——介于0和1之間的十進制數。僅當使用帶有alpha通道的格式(rgba和hsla)時才相關。默認為隨機值。
// 返回具顏色的十六進制代碼
randomColor();
// 返回十個綠色的數組
randomColor({
count: 10,
hue: 'green'
});
// 返回淺藍色的十六進制代碼
randomColor({
luminosity: 'light',
hue: 'blue'
});
// 返回“真正隨機”顏色的十六進制代碼
randomColor({
luminosity: 'random',
hue: 'random'
});
// 返回RGB的明亮的顏色
randomColor({
luminosity: 'bright',
format: 'rgb' // e.g. 'rgb(225,200,20)'
});
// 返回帶有隨機alpha的深色RGB顏色
randomColor({
luminosity: 'dark',
format: 'rgba' // e.g. 'rgba(9, 1, 107, 0.6482447960879654)'
});
// 返回具有指定alpha的深色RGB顏色
randomColor({
luminosity: 'dark',
format: 'rgba',
alpha: 0.5 // e.g. 'rgba(9, 1, 107, 0.5)',
});
// 返回帶有隨機Alpha的淺色HSL顏色
randomColor({
luminosity: 'light',
format: 'hsla' // e.g. 'hsla(27, 88.99%, 81.83%, 0.6450211517512798)'
});
randomColor是一個小型JavaScript腳本,雖然功能不多,但是針對顏色這一塊還是非常值得使用的,對于大多數場景已經完全夠用!enjoy it!
瀏覽器前綴的簡介及應用
某些CSS屬性還只是最新版的預覽版,并未發布成最終的正式版,而大部分瀏覽器已經為這些屬性提供了支持,但這些屬性是小部分瀏覽器專有的;有些時候,有些瀏覽器為了擴展某方面的功能,它們會選擇新增的一些CSS屬性,這些自行擴展的CSS屬性也是瀏覽器專屬的。為了讓這些瀏覽器識別這些專屬屬性,CSS規范允許在CSS屬性前增加各自的瀏覽器前綴。
文本陰影屬性語法及應用
說明:水平、垂直陰影的位置允許負值 可進行多陰影設置
文本換行的相關屬性
Word-wrap
屬性值:
normal
說明:只在允許的斷字點換行(瀏覽器保持默認處理)
break-word
說明:屬性允許長單詞或 URL 地址換行到下一行。
屬性用來標明是否允許瀏覽器在單詞內進行斷句,這是為了防止當一個字符串太長而找不到它的自然斷句點時產生溢出現象。
Word-break
屬性值:
break-all
說明:它斷句的方式非常粗暴,它不會嘗試把長單詞挪到下一行,而是直接進行單詞內的斷句
Keep-all
說明:文本不會換行,只能在半角空格或連字符處換行。
@font-face
@font-face是CSS3中的一個模塊,他主要是把自己定義的Web字體嵌入到你的網頁中,隨著@font-face模塊的出現,我們在Web的開發中使用字體不怕只能使用Web安全字體(@font-face這個功能早在IE4就支持)
@font-face的語法規則:@font-face {
font-family: < YourWebFontName >;
src: < source > [< format >][,< source > [< format >]]*;
[font-weight: < weight >];
[font-style: < style >];
}
@font-face語法說明:
1、YourWebFontName:此值指的就是你自定義的字體名稱,最好是使用你下載的默認字體,他將被引用到你的Web元素中的font-family。如“font-family:"YourWebFontName";”
2、source:此值指的是你自定義的字體的存放路徑,可以是相對路徑也可以是絕路徑;
3、format:此值指的是你自定義的字體的格式,主要用來幫助瀏覽器識別,其值主要有以下幾種類型:truetype,opentype,truetype-aat,embedded-opentype,avg等;
4、weight和style:這兩個值大家一定很熟悉,weight定義字體是否為粗體,style主要定義字體樣式,如斜體。
實例:@font-face {
font-family: 'icomoon';
src:url('fonts/icomoon.eot');
src:url('fonts/icomoon.eot?#iefix') format('embedded-opentype'),
url('fonts/icomoon.svg#icomoon') format('svg'),
url('fonts/icomoon.woff') format('woff'),
url('fonts/icomoon.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
CSS3 背景的新增屬性
1、Background-origin 背景原點
說明:指定background-origin屬性應該是相對位置屬性值:padding-box 背景圖像填充框的相對位置
border-box 背景圖像邊界框的相對位置
content-box 背景圖像的相對位置的內容框
注:默認值為:padding-box;
2、Background-clip 背景裁切
說明:background-clip 屬性規定背景的繪制區域。屬性值:border-box 背景被裁剪到邊框盒。
padding-box 背景被裁剪到內邊距框。
content-box 背景被裁剪到內容框
。
注:默認值:border-box;
3、Background-size 背景尺寸
說明:background-size 規定背景圖像的尺寸屬性值:length
規定背景圖的大小。第一個值寬度,第二個值高度。
Percentage(%)
以百分比為值設置背景圖大小
cover
把背景圖像擴展至足夠大,以使背景圖像完全覆蓋背景區域
contain
把圖像圖像擴展至最大尺寸,以使其寬度和高度完全適應內容區域。
4、css3多背景屬性
Eg:p{ background:url(demo.gif) no-repeat; //這是寫給不識別下面這句的默認背景圖片
background:url(demo.gif) no-repeat ,url(demo1.gif) no-repeat left bottom, url(demo2.gif) no-repeat 10px 15px; //這是高級瀏覽器的css多重背景,第一個最上面
background-color:yellow; //這是定義的默認背景顏色,全部適合 }
CSS3 顏色特性
1、rgba 顏色模式
2、 Hsl 顏色模式(了解)
3、 Hsla 顏色模式(了解)
CSS3 邊框的新增屬性
1、border-color
EG:border-color:red green #000 yellow;(上右下左)
2、border-image
border-image 屬性是一個簡寫屬性,用于設置以下屬性:
border-image-source 用在邊框的圖片的路徑。
border-image-slice 圖片邊框向內偏移。
border-image-repeat 圖像邊框是否應平鋪(repeated)、鋪滿(rounded)或拉伸(stretched)
border-image-outset 邊框圖像區域超出邊框的量
3、Border-radius 圓角邊框
(1).box{ border-radius: 5px 10px 20px 50px }
(2).div1{border-radius: 2em/1em}
以斜杠/分開后面的參數:
第一個參數表示圓角的水平半徑,第二個參數表示圓角的垂直半徑
(3).div1{ border-radius:10px 20px 30px 40px/40px 30px 20px 10px }
按順時針的順序,斜杠/左邊是四個圓角的水平半徑,右邊是四個圓角的垂直半徑,但是通常我們很少寫右邊的參數,那就是默認右邊等于左邊的值。
4、box-shadow 盒子陰影
屬性值:
Eg:box-shadow: 10px 10px 5px #888888
5 新特性
1、拖拽釋放(Drap and drop) API ondrop
拖放是一種常見的特性,即抓取對象以后拖到另一個位置
在 HTML5 中,拖放是標準的一部分,任何元素都能夠拖放
2、自定義屬性 data-id
3、語義化更好的內容標簽(header,nav,footer ,aside, article, section)
4、音頻 ,視頻(audio,video) 如果瀏覽器不支持自動播放怎么辦?
在屬性中添加 autoplay
5、畫布 Canvas
(5.1)getContext()
方法返回一個用于在畫布上繪圖的環境Canvas.getContext(contextID)參數 contextID 指定了您想要在畫布上繪制的類型。當前唯一的合法值是 “2d”,它指定了二維繪圖,并且導致這個方法返回一個環境對象,該對象導出一個二維繪圖 API
(5.2)cxt.stroke() 如果沒有這一步 線條是不會顯示在畫布上的
(5.3)canvas 和 image 在處理圖片的時候有什么區別?
image 是通過對象的形式描述圖片的,canvas 通過專門的 API 將圖片繪制在畫布上.
6、 地理(Geolocation) API
7、本地離線存儲 localStorage 長期存儲數據 瀏覽器關閉后數據不丟失
8、sessionStorage 的數據在瀏覽器關閉后自動刪除
9、表單控件 calendar ,date , time , email , url , search , tel , file , number
10、新的技術 webworker,
websocket , Geolocation
CSS3 新特性
1、顏色: 新增 RGBA , HSLA 模式
2、文字陰影(text-shadow)
3、邊框: 圓角(border-radius) 邊框陰影 : box-shadow
4、盒子模型: box-sizing
5、背景:background-size
background-origin
background-clip
6、漸變: linear-gradient , radial-gradient
7、過渡 : transition 可實現動畫
8、自定義動畫 animate
@keyfrom
9、媒體查詢 多欄布局
@media screen and (width:800px) {…}
10、border-image
11、2D轉換;transform: translate(x,y) rotate(x,y) skew(x,y) scale(x,y)
12、3D 轉換
13、字體圖標 font-face
14、彈性布局 flex
*請認真填寫需求信息,我們會在24小時內與您取得聯系。