首页 > 代码库 > CSS样式设计工具,兼容性很强的颜色控件

CSS样式设计工具,兼容性很强的颜色控件

 

http://jmams.github.io/test/201501/test.html

 

 

//author zhoubo49@gmail.com// css生成插件var JcssPicker = window.JcssPicker || {};//=========================================JcssPicker.ui = {		//设置位置	setPoint: function(_x, _y) {		this.x = _x;		this.y = _y;	},	//设置尺寸		setDimension: function(_width, _height) {		this.width = _width;		this.height = _height;	},    //判断是否IE	isIE: function() { return window.ActiveXObject; },		//获取事件	getEvent: function () {	    if (this.isIE()) {	        return window.event;	    }	    var func = this.getEvent.caller;	    var count = 0;	    while (func != null) {	        var arg0 = func.arguments[func.arguments.length - 1];	        if (arg0) {	            if ((arg0.constructor == Event || arg0.constructor == MouseEvent)	|| (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {	                return arg0;	            }	        }	        func = func.caller;	        count++;	        if (count > 50) {	            break;	        }	    }	    return null;	},	//取消默认事件	cancelEvent: function (returnValue) {	    var ev = this.getEvent();	    if (ev != null) {	        ev.cancelBubble = true;	        if (ev.originalEvent) {	            ev.stopPropagation();	        }	        if (!returnValue) {	            ev.returnValue = http://www.mamicode.com/false;"px";		div.style.left = x + "px";	},    //获得div坐标	getDivPoint: function(div) {		if (div.style				&& (div.style.position == "absolute" || div.style.position == "relative")) {			return new setPoint(div.offsetLeft + 1, div.offsetTop + 1);		} else if (div.offsetParent) {			var d = this.getDivPoint(div.offsetParent);			return new this.setPoint(d.x + div.offsetLeft-div.scrollLeft, d.y + div.offsetTop-div.scrollTop);		} else {			return new this.setPoint(0, 0);		}	}};var el = JcssPicker.el = function (element) {    if (typeof element == ‘string‘) {        return document.getElementById(element);    }else { return element; }};//===============颜色插件=======================================================================================================/*用法: JcssPicker.pickColor(control, function(colorVal){...}); */JcssPicker.ColorPicker = function (container, currentHEX) {  this.__typeName = "JcssPicker.ColorPicker";  this.container = container == null ? document.body : container;  this.onchange = function () { };  this.colorSelected = null;  this.currentHEX = currentHEX == null ? ‘#000000‘ : (currentHEX.match(/^#([0-9a-fA-F]{6}|[0-9a-fA-f]{3})$/) == null ? ‘#000000‘: currentHEX.toUpperCase());  this.currentGRAY = ‘120‘;  this.lastHEX = ‘‘;  this.hexch = new Array(‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘);};JcssPicker.ColorPicker.prototype.create = function (doc) {  doc = doc == null ? document : doc;  var control = doc.getElementById(‘jcss-control-colorpicker‘);  if (control != null)      return control;  var cnum = new Array(1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0);  var owner = this;  control = doc.createElement("div");  control.id = ‘jcss-control-colorpicker‘;  control.style.width = "250px";  control.style.backgroundColor = "#eee";  control.style.display = "block";  control.style.position = "absolute";  control.style.zIndex = 60000;    control.className = "title";  var containertable = doc.createElement("table");  containertable.cellSpacing = 5;  var containerbody = doc.createElement("tbody");  containertable.appendChild(containerbody);  var containertr = doc.createElement("tr");  containertr.style.height = "auto";  containerbody.appendChild(containertr);  var colortd = doc.createElement("td");  var graytd = doc.createElement("td");  containertr.appendChild(colortd);  containertr.appendChild(graytd);  var colortable = doc.createElement("table");  colortable.id = "colorpicker-colortable";  colortable.cellSpacing = 0;  colortable.cellPadding = 0;  colortable.style.cursor = "pointer";  colortd.appendChild(colortable);  colortable.onclick = function () {      owner.currentHEX = JcssPicker.ui.getEvent().srcElement.bgColor;      owner.endColor();      JcssPicker.ui.cancelEvent();  };  colortable.onmouseover = function () {      el(‘colorpicker-hex‘).innerText = JcssPicker.ui.getEvent().srcElement.bgColor.toUpperCase();      owner.endColor();      JcssPicker.ui.cancelEvent();  };  colortable.onmouseout = function () {      el(‘colorpicker-hex‘).innerText = owner.currentHEX;      owner.endColor();      JcssPicker.ui.cancelEvent();  };  var colortablebody = doc.createElement("tbody");  colortable.appendChild(colortablebody);  for (var i = 0; i < 16; i++) {      var tr = doc.createElement("tr");      tr.style.height = "auto";      colortablebody.appendChild(tr);      for (var j = 0; j < 30; j++) {          n1 = j % 5;          n2 = Math.floor(j / 5) * 3;          n3 = n2 + 3;          var td = doc.createElement("td");          td.style.width = "8px";          td.style.height = "8px";          td.bgColor = this.toColor((cnum[n3] * n1 + cnum[n2] * (5 - n1)),              (cnum[n3 + 1] * n1 + cnum[n2 + 1] * (5 - n1)),              (cnum[n3 + 2] * n1 + cnum[n2 + 2] * (5 - n1)), i);          tr.appendChild(td);      }  }  var graytable = doc.createElement("table");  graytable.cellSpacing = 0;  graytable.cellPadding = 0;  graytable.id = "colorpicker-graytable";  graytable.style.cursor = "pointer";  graytd.appendChild(graytable);  var graytablebody = doc.createElement("tbody");  graytable.appendChild(graytablebody);  for (i = 255; i >= 0; i -= 8.5) {      var tr = doc.createElement("tr");      tr.style.height = "auto";      graytablebody.appendChild(tr);      var td = doc.createElement("td");      td.style.width = "20px";      td.style.height = "4px";      td.title = Math.floor(i * 16 / 17);      tr.bgColor = ‘#‘ + this.toHex(i) + this.toHex(i) + this.toHex(i);      tr.appendChild(td);  }  graytable.onclick = function () {      owner.currentGRAY = JcssPicker.ui.getEvent().srcElement.title;      owner.endColor();      JcssPicker.ui.cancelEvent();      return false;  };  graytable.onmouseover = function () {      el(‘colorpicker-gray‘).innerText = JcssPicker.ui.getEvent().srcElement.title;      owner.endColor();      JcssPicker.ui.cancelEvent();      return false;  };  graytable.onmouseout = function () {      el(‘colorpicker-gray‘).innerText = owner.currentGRAY;      owner.endColor();      JcssPicker.ui.cancelEvent();      return false;  };  control.appendChild(containertable);  var notecontrol = doc.createElement("div");  var notetable = doc.createElement("table");  notetable.cellSpacing = 0;  notetable.cellPadding = 0;  notetable.style.width = "100%";  notecontrol.appendChild(notetable);  var notetablebody = doc.createElement("tbody");  notetable.appendChild(notetablebody);  var notetr = doc.createElement("tr");  notetablebody.appendChild(notetr);  var td = doc.createElement("td");  td.innerHTML = "<table ID=\"colorpicker-showcolor\" style=\"background-color: "+this.currentHEX+";\" bgcolor=\""+this.currentHEX+"\" border=\"1\" width=\"25\" height=\"25\" cellspacing=\"0\" cellpadding=\"0\"><tr><td></td></tr></table><br/><span id=\"colorpicker-selcolor\">"+this.currentHEX+"</span>";  td.align = "center";  td.style.width = "80px";  notetr.appendChild(td);  td = doc.createElement("td");  td.innerHTML = "基色 :<span id=\"colorpicker-hex\">"+this.currentHEX+"</SPAN><BR>亮度 :<span id=\"colorpicker-gray\">120</span>";  notetr.appendChild(td);  td = doc.createElement("td");  td.align = "center";  td.style.width = "60px";  var okbutton = doc.createElement("input");  okbutton.type = "button";  okbutton.className = "button";  okbutton.value = "http://www.mamicode.com/确定";  okbutton.onclick = function () {      if (owner.colorSelected)          owner.colorSelected(el(‘colorpicker-selcolor‘).innerHTML);  };  td.appendChild(okbutton);  notetr.appendChild(td);  notecontrol.onclick = function () { JcssPicker.ui.cancelEvent(); };  control.appendChild(notecontrol);  return control;};JcssPicker.ColorPicker.prototype.toColor = function (r, g, b, n) {  r = ((r * 16 + r) * 3 * (15 - n) + 0x80 * n) / 15;  g = ((g * 16 + g) * 3 * (15 - n) + 0x80 * n) / 15;  b = ((b * 16 + b) * 3 * (15 - n) + 0x80 * n) / 15;  return ‘#‘ + this.toHex(r) + this.toHex(g) + this.toHex(b);};JcssPicker.ColorPicker.prototype.toHex = function (n) {  var h, l;  n = Math.round(n);  l = n % 16;  h = Math.floor((n / 16)) % 16;  return (this.hexch[h] + this.hexch[l]);};JcssPicker.ColorPicker.prototype.doColor = function (c, l) {  var r, g, b;  r = ‘0x‘ + c.substring(1, 3);  g = ‘0x‘ + c.substring(3, 5);  b = ‘0x‘ + c.substring(5, 7);  if (l > 120) {      l = l - 120;      r = (r * (120 - l) + 255 * l) / 120;      g = (g * (120 - l) + 255 * l) / 120;      b = (b * (120 - l) + 255 * l) / 120;  }  else {      r = (r * l) / 120;      g = (g * l) / 120;      b = (b * l) / 120;  }  return ‘#‘ + this.toHex(r) + this.toHex(g) + this.toHex(b);};//JcssPicker.ColorPicker.prototype.endColor = function () {  if (this.lastHEX != this.currentHEX) {      var i;      this.lastHEX = this.currentHEX;      for (i = 0; i <= 30; i++) {          el(‘colorpicker-graytable‘).rows[i].bgColor = this.doColor(this.currentHEX, 240 - i * 8);      }  }  el(‘colorpicker-selcolor‘).innerHTML = this.doColor(el(‘colorpicker-hex‘).innerText, el(‘colorpicker-gray‘).innerText);  el(‘colorpicker-showcolor‘).bgColor = el(‘colorpicker-selcolor‘).innerHTML;  el(‘colorpicker-showcolor‘).style.backgroundColor = el(‘colorpicker-selcolor‘).innerHTML;};//渲染颜色JcssPicker.ColorPicker.prototype.renderByColor = function (defaultHEX) {	 	  this.currentHEX = defaultHEX == null ? ‘#000000‘ : (defaultHEX.match(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/) == null ? ‘#000000‘: defaultHEX.toUpperCase());	  this.currentHEX = this.currentHEX.substring(1);	  if(this.currentHEX.length === 3){ this.currentHEX += this.currentHEX; }  	  this.currentHEX = "#"+this.currentHEX;	  el(‘colorpicker-hex‘).innerText = this.currentHEX;	  this.endColor();	};	JcssPicker.pickColor = function (control, callBack, defaultHEX) {  JcssPicker.ui.cancelEvent();  var controlColorPicker = document.getElementById(‘jcss-control-colorpicker‘);    if (controlColorPicker == null) {	       var cp = new JcssPicker.ColorPicker();      controlColorPicker = cp.create();            document.body.appendChild(controlColorPicker);      controlColorPicker.colorPicker = cp;      controlColorPicker.style.display = "none";            document.body.onclick = function(event) {    	      	  if(controlColorPicker.style.display == "")    	  controlColorPicker.style.display = "none";	  };  }  if(defaultHEX != null) { controlColorPicker.colorPicker.renderByColor(defaultHEX);}     var p = JcssPicker.ui.getDivPoint(control);  JcssPicker.ui.setDivPoint(controlColorPicker, p.x, p.y+20);  controlColorPicker.style.display = "";  controlColorPicker.colorPicker.colorSelected = function (val) {      if (val != null) {          if (callBack != null) {              callBack(val);          }          else {              if (control != null) {                  control.value = http://www.mamicode.com/val;                  "none";      $(control).trigger("change");  };  return false;};//收录了140多个具有英文颜色名的的16进制和RGB的颜色对照表//[颜色中文名, 16进制颜色, RGB整数颜色, RGB百分比颜色]JcssPicker.ColorRefTable = [[‘aliceblue‘,‘#f0f8ff‘,‘rgb(240,248,255)‘,‘rgb(94.1%,96.9%,100%)‘],[‘antiquewhite‘,‘#faebd7‘,‘rgb(250,235,215)‘,‘rgb(98%,92.2%,84.3%)‘],[‘aqua‘,‘#00ffff‘,‘rgb(0,255,255)‘,‘rgb(0%,100%,100%)‘],[‘aquamarine‘,‘#7fffd4‘,‘rgb(127,255,212)‘,‘rgb(49.8%,100%,83.1%)‘],[‘azure‘,‘#f0ffff‘,‘rgb(240,255,255)‘,‘rgb(94.1%,100%,100%)‘],[‘beige‘,‘#f5f5dc‘,‘rgb(245,245,220)‘,‘rgb(96.1%,96.1%,86.3%)‘],[‘bisque‘,‘#ffe4c4‘,‘rgb(255,228,196)‘,‘rgb(100%,89.4%,76.9%)‘],[‘black‘,‘#000000‘,‘rgb(0,0,0)‘,‘rgb(0%,0%,0%)‘],[‘blanchedalmond‘,‘#ffebcd‘,‘rgb(255,235,205)‘,‘rgb(100%,92.2%,80.4%)‘],[‘blue‘,‘#0000ff‘,‘rgb(0,0,255)‘,‘rgb(0%,0%,100%)‘],[‘blueviolet‘,‘#8a2be2‘,‘rgb(138,43,226)‘,‘rgb(54.1%,16.9%,88.6%)‘],[‘brown‘,‘#a52a2a‘,‘rgb(165,42,42)‘,‘rgb(64.7%,16.5%,16.5%)‘],[‘burlywood‘,‘#deb887‘,‘rgb(222,184,135)‘,‘rgb(87.1%,72.2%,52.9%)‘],[‘cadetblue‘,‘#5f9ea0‘,‘rgb(95,158,160)‘,‘rgb(37.3%,62%,62.7%)‘],[‘chartreuse‘,‘#7fff00‘,‘rgb(127,255,0)‘,‘rgb(49.8%,100%,0%)‘],[‘chocolate‘,‘#d2691e‘,‘rgb(210,105,30)‘,‘rgb(82.4%,41.1%,11.8%)‘],[‘coral‘,‘#ff7f50‘,‘rgb(255,127,80)‘,‘rgb(100%,49.8%,31.4%)‘],[‘cornflowerblue‘,‘#6495ed‘,‘rgb(100,149,237)‘,‘rgb(39.2%,58.4%,92.9%)‘],[‘cornsilk‘,‘#fff8dc‘,‘rgb(255,248,220)‘,‘rgb(100%,97.3%,86.3%)‘],[‘crimson‘,‘#dc143c‘,‘rgb(220,20,60)‘,‘rgb(86.3%,7.8%,23.5%)‘],[‘cyan‘,‘#00ffff‘,‘rgb(0,255,255)‘,‘rgb(0%,100%,100%)‘],[‘darkblue‘,‘#00008b‘,‘rgb(0,0,139)‘,‘rgb(0%,0%,54.5%)‘],[‘darkcyan‘,‘#008b8b‘,‘rgb(0,139,139)‘,‘rgb(0%,54.5%,54.5%)‘],[‘darkgoldenrod‘,‘#b8860b‘,‘rgb(184,134,11)‘,‘rgb(72.2%,52.5%,4.3%)‘],[‘darkgray‘,‘#a9a9a9‘,‘rgb(169,169,169)‘,‘rgb(66.3%,66.3%,66.3%)‘],[‘darkgreen‘,‘#006400‘,‘rgb(0,100,0)‘,‘rgb(0%,39.2%,0%)‘],[‘darkgrey‘,‘#a9a9a9‘,‘rgb(169,169,169)‘,‘rgb(66.3%,66.3%,66.3%)‘],[‘darkkhaki‘,‘#bdb76b‘,‘rgb(189,183,107)‘,‘rgb(74.1%,71.8%,42%)‘],[‘darkmagenta‘,‘#8b008b‘,‘rgb(139,0,139)‘,‘rgb(54.5%,0%,54.5%)‘],[‘darkolivegreen‘,‘#556b2f‘,‘rgb(85,107,47)‘,‘rgb(33.3%,42%,18.4%)‘],[‘darkorange‘,‘#ff8c00‘,‘rgb(255,140,0)‘,‘rgb(100%,54.9%,0%)‘],[‘darkorchid‘,‘#9932cc‘,‘rgb(153,50,204)‘,‘rgb(60%,19.6%,80%)‘],[‘darkred‘,‘#8b0000‘,‘rgb(139,0,0)‘,‘rgb(54.5%,0%,0%)‘],[‘darksalmon‘,‘#e9967a‘,‘rgb(233,150,122)‘,‘rgb(91.4%,58.8%,47.8%)‘],[‘darkseagreen‘,‘#8fbc8f‘,‘rgb(143,188,143)‘,‘rgb(56.1%,73.7%,56.1%)‘],[‘darkslateblue‘,‘#483d8b‘,‘rgb(72,61,139)‘,‘rgb(28.2%,23.9%,54.5%)‘],[‘darkslategray‘,‘#2f4f4f‘,‘rgb(47,79,79)‘,‘rgb(18.4%,31%,31%)‘],[‘darkslategrey‘,‘#2f4f4f‘,‘rgb(47,79,79)‘,‘rgb(18.4%,31%,31%)‘],[‘darkturquoise‘,‘#00ced1‘,‘rgb(0,206,209)‘,‘rgb(0%,80.8%,82%)‘],[‘darkviolet‘,‘#9400d3‘,‘rgb(148,0,211)‘,‘rgb(58%,0%,82.7%)‘],[‘deeppink‘,‘#ff1493‘,‘rgb(255,20,147)‘,‘rgb(100%,7.8%,57.6%)‘],[‘deepskyblue‘,‘#00bfff‘,‘rgb(0,191,255)‘,‘rgb(0%,74.9%,100%)‘],[‘dimgray‘,‘#696969‘,‘rgb(105,105,105)‘,‘rgb(41.1%,41.1%,41.1%)‘],[‘dimgrey‘,‘#696969‘,‘rgb(105,105,105)‘,‘rgb(41.1%,41.1%,41.1%)‘],[‘dodgerblue‘,‘#1e90ff‘,‘rgb(30,144,255)‘,‘rgb(11.8%,56.5%,100%)‘],[‘firebrick‘,‘#b22222‘,‘rgb(178,34,34)‘,‘rgb(69.8%,13.3%,13.3%)‘],[‘floralwhite‘,‘#fffaf0‘,‘rgb(255,250,240)‘,‘rgb(100%,98%,94.1%)‘],[‘forestgreen‘,‘#228b22‘,‘rgb(34,139,34)‘,‘rgb(13.3%,54.5%,13.3%)‘],[‘fuchsia‘,‘#ff00ff‘,‘rgb(255,0,255)‘,‘rgb(100%,0%,100%)‘],[‘gainsboro‘,‘#dcdcdc‘,‘rgb(220,220,220)‘,‘rgb(86.3%,86.3%,86.3%)‘],[‘ghostwhite‘,‘#f8f8ff‘,‘rgb(248,248,255)‘,‘rgb(97.3%,97.3%,100%)‘],[‘gold‘,‘#ffd700‘,‘rgb(255,215,0)‘,‘rgb(100%,84.3%,0%)‘],[‘goldenrod‘,‘#daa520‘,‘rgb(218,165,32)‘,‘rgb(85.5%,64.7%,12.5%)‘],[‘gray‘,‘#808080‘,‘rgb(128,128,128)‘,‘rgb(50.2%,50.2%,50.2%)‘],[‘green‘,‘#008000‘,‘rgb(0,128,0)‘,‘rgb(0%,50.2%,0%)‘],[‘greenyellow‘,‘#adff2f‘,‘rgb(173,255,47)‘,‘rgb(67.8%,100%,18.4%)‘],[‘grey‘,‘#808080‘,‘rgb(128,128,128)‘,‘rgb(50.2%,50.2%,50.2%)‘],[‘honeydew‘,‘#f0fff0‘,‘rgb(240,255,240)‘,‘rgb(94.1%,100%,94.1%)‘],[‘hotpink‘,‘#ff69b4‘,‘rgb(255,105,180)‘,‘rgb(100%,41.1%,70.6%)‘],[‘indianred‘,‘#cd5c5c‘,‘rgb(205,92,92)‘,‘rgb(80.4%,36%,36%)‘],[‘indigo‘,‘#4b0082‘,‘rgb(75,0,130)‘,‘rgb(29.4%,0%,51%)‘],[‘ivory‘,‘#fffff0‘,‘rgb(255,255,240)‘,‘rgb(100%,100%,94.1%)‘],[‘khaki‘,‘#f0e68c‘,‘rgb(240,230,140)‘,‘rgb(94.1%,90.2%,54.9%)‘],[‘lavender‘,‘#e6e6fa‘,‘rgb(230,230,250)‘,‘rgb(90.2%,90.2%,98%)‘],[‘lavenderblush‘,‘#fff0f5‘,‘rgb(255,240,245)‘,‘rgb(100%,94.1%,96.1%)‘],[‘lawngreen‘,‘#7cfc00‘,‘rgb(124,252,0)‘,‘rgb(48.6%,98.8%,0%)‘],[‘lemonchiffon‘,‘#fffacd‘,‘rgb(255,250,205)‘,‘rgb(100%,98%,80.4%)‘],[‘lightblue‘,‘#add8e6‘,‘rgb(173,216,230)‘,‘rgb(67.8%,84.7%,90.2%)‘],[‘lightcoral‘,‘#f08080‘,‘rgb(240,128,128)‘,‘rgb(94.1%,50.2%,50.2%)‘],[‘lightcyan‘,‘#e0ffff‘,‘rgb(224,255,255)‘,‘rgb(87.8%,100%,100%)‘],[‘lightgoldenrodyellow‘,‘#fafad2‘,‘rgb(250,250,210)‘,‘rgb(98%,98%,82.4%)‘],[‘lightgray‘,‘#d3d3d3‘,‘rgb(211,211,211)‘,‘rgb(82.7%,82.7%,82.7%)‘],[‘lightgreen‘,‘#90ee90‘,‘rgb(144,238,144)‘,‘rgb(56.5%,93.3%,56.5%)‘],[‘lightgrey‘,‘#d3d3d3‘,‘rgb(211,211,211)‘,‘rgb(82.7%,82.7%,82.7%)‘],[‘lightpink‘,‘#ffb6c1‘,‘rgb(255,182,193)‘,‘rgb(100%,71.4%,75.7%)‘],[‘lightsalmon‘,‘#ffa07a‘,‘rgb(255,160,122)‘,‘rgb(100%,62.7%,47.8%)‘],[‘lightseagreen‘,‘#20b2aa‘,‘rgb(32,178,170)‘,‘rgb(12.5%,69.8%,66.7%)‘],[‘lightskyblue‘,‘#87cefa‘,‘rgb(135,206,250)‘,‘rgb(52.9%,80.8%,98%)‘],[‘lightslategray‘,‘#778899‘,‘rgb(119,136,153)‘,‘rgb(46.7%,53.3%,60%)‘],[‘lightslategrey‘,‘#778899‘,‘rgb(119,136,153)‘,‘rgb(46.7%,53.3%,60%)‘],[‘lightsteelblue‘,‘#b0c4de‘,‘rgb(176,196,222)‘,‘rgb(69%,76.9%,87.1%)‘],[‘lightyellow‘,‘#ffffe0‘,‘rgb(255,255,224)‘,‘rgb(100%,100%,87.8%)‘],[‘lime‘,‘#00ff00‘,‘rgb(0,255,0)‘,‘rgb(0%,100%,0%)‘],[‘limegreen‘,‘#32cd32‘,‘rgb(50,205,50)‘,‘rgb(19.6%,80.4%,19.6%)‘],[‘linen‘,‘#faf0e6‘,‘rgb(250,240,230)‘,‘rgb(98%,94.1%,90.2%)‘],[‘magenta‘,‘#ff00ff‘,‘rgb(255,0,255)‘,‘rgb(100%,0%,100%)‘],[‘maroon‘,‘#800000‘,‘rgb(128,0,0)‘,‘rgb(50.2%,0%,0%)‘],[‘mediumaquamarine‘,‘#66cdaa‘,‘rgb(102,205,170)‘,‘rgb(40%,80.4%,66.7%)‘],[‘mediumblue‘,‘#0000cd‘,‘rgb(0,0,205)‘,‘rgb(0%,0%,80.4%)‘],[‘mediumorchid‘,‘#ba55d3‘,‘rgb(186,85,211)‘,‘rgb(72.9%,33.3%,82.7%)‘],[‘mediumpurple‘,‘#9370db‘,‘rgb(147,112,219)‘,‘rgb(57.6%,43.9%,85.9%)‘],[‘mediumseagreen‘,‘#3cb371‘,‘rgb(60,179,113)‘,‘rgb(23.5%,70.2%,44.3%)‘],[‘mediumslateblue‘,‘#7b68ee‘,‘rgb(123,104,238)‘,‘rgb(48.2%,40.8%,93.3%)‘],[‘mediumspringgreen‘,‘#00fa9a‘,‘rgb(0,250,154)‘,‘rgb(0%,98%,60.4%)‘],[‘mediumturquoise‘,‘#48d1cc‘,‘rgb(72,209,204)‘,‘rgb(28.2%,82%,80%)‘],[‘mediumvioletred‘,‘#c71585‘,‘rgb(199,21,133)‘,‘rgb(78%,8.2%,52.2%)‘],[‘midnightblue‘,‘#191970‘,‘rgb(25,25,112)‘,‘rgb(9.8%,9.8%,43.9%)‘],[‘mintcream‘,‘#f5fffa‘,‘rgb(245,255,250)‘,‘rgb(96.1%,100%,98%)‘],[‘mistyrose‘,‘#ffe4e1‘,‘rgb(255,228,225)‘,‘rgb(100%,89.4%,88.2%)‘],[‘moccasin‘,‘#ffe4b5‘,‘rgb(255,228,181)‘,‘rgb(100%,89.4%,71%)‘],[‘navajowhite‘,‘#ffdead‘,‘rgb(255,222,173)‘,‘rgb(100%,87.1%,67.8%)‘],[‘navy‘,‘#000080‘,‘rgb(0,0,128)‘,‘rgb(0%,0%,50.2%)‘],[‘oldlace‘,‘#fdf5e6‘,‘rgb(253,245,230)‘,‘rgb(99.2%,96.1%,90.2%)‘],[‘olive‘,‘#808000‘,‘rgb(128,128,0)‘,‘rgb(50.2%,50.2%,0%)‘],[‘olivedrab‘,‘#6b8e23‘,‘rgb(107,142,35)‘,‘rgb(42%,55.7%,13.7%)‘],[‘orange‘,‘#ffa500‘,‘rgb(255,165,0)‘,‘rgb(100%,64.7%,0%)‘],[‘orangered‘,‘#ff4500‘,‘rgb(255,69,0)‘,‘rgb(100%,27.1%,0%)‘],[‘orchid‘,‘#da70d6‘,‘rgb(218,112,214)‘,‘rgb(85.5%,43.9%,83.9%)‘],[‘palegoldenrod‘,‘#eee8aa‘,‘rgb(238,232,170)‘,‘rgb(93.3%,91%,66.7%)‘],[‘palegreen‘,‘#98fb98‘,‘rgb(152,251,152)‘,‘rgb(59.6%,98.4%,59.6%)‘],[‘paleturquoise‘,‘#afeeee‘,‘rgb(175,238,238)‘,‘rgb(68.6%,93.3%,93.3%)‘],[‘palevioletred‘,‘#db7093‘,‘rgb(219,112,147)‘,‘rgb(85.9%,43.9%,57.6%)‘],[‘papayawhip‘,‘#ffefd5‘,‘rgb(255,239,213)‘,‘rgb(100%,93.7%,83.5%)‘],[‘peachpuff‘,‘#ffdab9‘,‘rgb(255,218,185)‘,‘rgb(100%,85.5%,72.5%)‘],[‘peru‘,‘#cd853f‘,‘rgb(205,133,63)‘,‘rgb(80.4%,52.2%,24.7%)‘],[‘pink‘,‘#ffc0cb‘,‘rgb(255,192,203)‘,‘rgb(100%,75.3%,79.6%)‘],[‘plum‘,‘#dda0dd‘,‘rgb(221,160,221)‘,‘rgb(86.7%,62.7%,86.7%)‘],[‘powderblue‘,‘#b0e0e6‘,‘rgb(176,224,230)‘,‘rgb(69%,87.8%,90.2%)‘],[‘purple‘,‘#800080‘,‘rgb(128,0,128)‘,‘rgb(50.2%,0%,50.2%)‘],[‘red‘,‘#ff0000‘,‘rgb(255,0,0)‘,‘rgb(100%,0%,0%)‘],[‘rosybrown‘,‘#bc8f8f‘,‘rgb(188,143,143)‘,‘rgb(73.7%,56.1%,56.1%)‘],[‘royalblue‘,‘#4169e1‘,‘rgb(65,105,225)‘,‘rgb(25.5%,41.1%,100%)‘],[‘saddlebrown‘,‘#8b4513‘,‘rgb(139,69,19)‘,‘rgb(54.5%,27.1%,7.5%)‘],[‘salmon‘,‘#fa8072‘,‘rgb(250,128,114)‘,‘rgb(98%,50.2%,44.7%)‘],[‘sandybrown‘,‘#f4a460‘,‘rgb(244,164,96)‘,‘rgb(95.7%,64.3%,37.6%)‘],[‘seagreen‘,‘#2e8b57‘,‘rgb(46,139,87)‘,‘rgb(18%,54.5%,34.1%)‘],[‘seashell‘,‘#fff5ee‘,‘rgb(255,245,238)‘,‘rgb(100%,96.1%,93.3%)‘],[‘sienna‘,‘#a0522d‘,‘rgb(160,82,45)‘,‘rgb(62.7%,32.2%,17.6%)‘],[‘silver‘,‘#c0c0c0‘,‘rgb(192,192,192)‘,‘rgb(75.3%,75.3%,75.3%)‘],[‘skyblue‘,‘#87ceeb‘,‘rgb(135,206,235)‘,‘rgb(52.9%,80.8%,92.2%)‘],[‘slateblue‘,‘#6a5acd‘,‘rgb(106,90,205)‘,‘rgb(41.6%,35.3%,80.4%)‘],[‘slategray‘,‘#708090‘,‘rgb(112,128,144)‘,‘rgb(43.9%,50.2%,56.5%)‘],[‘slategrey‘,‘#708090‘,‘rgb(112,128,144)‘,‘rgb(43.9%,50.2%,56.5%)‘],[‘snow‘,‘#fffafa‘,‘rgb(255,250,250)‘,‘rgb(100%,98%,98%)‘],[‘springgreen‘,‘#00ff7f‘,‘rgb(0,255,127)‘,‘rgb(0%,100%,49.8%)‘],[‘steelblue‘,‘#4682b4‘,‘rgb(70,130,180)‘,‘rgb(27.5%,51%,70.6%)‘],[‘tan‘,‘#d2b48c‘,‘rgb(210,180,140)‘,‘rgb(82.4%,70.6%,54.9%)‘],[‘teal‘,‘#008080‘,‘rgb(0,128,128)‘,‘rgb(0%,50.2%,50.2%)‘],[‘thistle‘,‘#d8bfd8‘,‘rgb(216,191,216)‘,‘rgb(84.7%,74.9%,84.7%)‘],[‘tomato‘,‘#ff6347‘,‘rgb(255,99,71)‘,‘rgb(100%,38.8%%,27.8%)‘],[‘turquoise‘,‘#40e0d0‘,‘rgb(64,224,208)‘,‘rgb(25.1%,87.7%,81.6%)‘],[‘violet‘,‘#ee82ee‘,‘rgb(238,130,238)‘,‘rgb(93.3%,51%,93.3%)‘],[‘wheat‘,‘#f5deb3‘,‘rgb(245,222,179)‘,‘rgb(96.1%,87.1%,70.2%)‘],[‘white‘,‘#ffffff‘,‘rgb(255,255,255)‘,‘rgb(100%,100%,100%)‘],[‘whitesmoke‘,‘#f5f5f5‘,‘rgb(245,245,245)‘,‘rgb(96.1%,96.1%,96.1%)‘],[‘yellow‘,‘#ffff00‘,‘rgb(255,255,0)‘,‘rgb(100%,100%,0%)‘],[‘yellowgreen‘,‘#9acd32‘,‘rgb(154,205,50)‘,‘rgb(60.4%,80.4%,19.6%)‘]];//RGB颜色转化为16进制颜色JcssPicker.rgb2hex = function (rgb) {	//十进制转化为16进制方法	function dec2hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2); };	//RGB颜色转为十六进制颜色	rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);	return "#" + dec2hex(rgb[1]) + dec2hex(rgb[2]) + dec2hex(rgb[3]);};//16进制颜色转化为RGB颜色JcssPicker.hex2rgb = function (hex) {		//16进制转化为10进制	function hex2dec(x) {return parseInt(hex,16).toString(); };	hex = hex.substring(1);    if(hex.length === 3){ hex += hex; }      return "rgb("+hex2dec(hex.substring(0,2))+","+hex2dec(hex.substring(2,4))+","+hex2dec(hex.substring(4))+")";	};//颜色名转化为RGB颜色JcssPicker.name2rgb = function (name) {	for(var i=0; i< JcssPicker.ColorRefTable.length; i++)	{		if(JcssPicker.ColorRefTable[i][0] == name.toLowerCase()){			return JcssPicker.ColorRefTable[i][2];		}	}	return null;};//颜色名转化为16进制颜色JcssPicker.name2hex = function (name) {	for(var i=0; i< JcssPicker.ColorRefTable.length; i++)	{		if(JcssPicker.ColorRefTable[i][0] == name.toLowerCase()){			return JcssPicker.ColorRefTable[i][1];		}	}	return null;};//把所以颜色标记统一转为16进制JcssPicker.color2hex = function (color) {	color = color.toLowerCase();	//如果是16进制(3位或6位)转6位; 	if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(color)) { 		color = color.substring(1);	    if(color.length === 3){ color += color; }  		color = "#"+color;		return color;	}	//如果是rgb则转6位16进制; 	if(/^(rgb)/.test(color)) { 		color = JcssPicker.rgb2hex(color);		return color;	}		if("transparent" == color) { return "#ffffff"; };	//如果是rgb则转6位16进制;	if(/^(?!rgb)[a-z]+/.test(color)) {				color = JcssPicker.name2hex(color);		return color;	}	return color;}//=========================css配置==============================================================JcssPicker.cssMap = {};//字体JcssPicker.cssMap["font"] = {name: "字体", style: "font"};//字体族JcssPicker.cssMap["font-family"] = {name: "字体族", style: "fontFamily", opts: [      { name: ‘宋体‘, val: ‘宋体,SimSun‘},     { name: ‘雅黑‘, val: ‘微软雅黑,Microsoft YaHei‘},     { name: ‘楷体‘, val: ‘楷体,楷体_GB2312, SimKai‘},     { name: ‘黑体‘, val: ‘黑体, SimHei‘},     { name: ‘隶书‘, val: ‘隶书, SimLi‘},     { name: ‘andaleMono‘, val: ‘andale mono‘},     { name: ‘arial‘, val: ‘arial, helvetica,sans-serif‘},     { name: ‘arialBlack‘, val: ‘arial black,avant garde‘},     { name: ‘comicSansMs‘, val: ‘comic sans ms‘},     { name: ‘impact‘, val: ‘impact,chicago‘},     { name: ‘timesNewRoman‘, val: ‘times new roman‘}]};//字体大小JcssPicker.cssMap["font-size"] = {name: "字体大小", style: "fontSize", opts: [      { name: ‘10px‘, val: ‘10px‘},     { name: ‘11px‘, val: ‘11px‘},     { name: ‘12px‘, val: ‘12px‘},     { name: ‘14px‘, val: ‘14px‘},     { name: ‘16px‘, val: ‘16px‘},     { name: ‘18px‘, val: ‘18px‘},     { name: ‘20px‘, val: ‘20px‘},     { name: ‘24px‘, val: ‘24px‘},     { name: ‘36px‘, val: ‘36px‘}     ]};//字体粗细JcssPicker.cssMap["font-weight"] = {name: "字体粗细", style: "fontWeight", opts: [      { name: ‘标准‘, val: ‘normal‘},     { name: ‘粗体‘, val: ‘bold‘}     ]};//字体倾斜JcssPicker.cssMap["font-style"] = {name: "字体倾斜", style: "fontStyle", opts: [      { name: ‘标准‘, val: ‘normal‘},     { name: ‘斜体‘, val: ‘italic‘}     ]};//文字颜色JcssPicker.cssMap["color"] = {name: "文字颜色", style: "color"};//文字对齐JcssPicker.cssMap["text-align"] = {name: "文字对齐", style: "fontStyle", opts: [      { name: ‘左对齐‘, val: ‘left‘},     { name: ‘右对齐‘, val: ‘right‘},     { name: ‘居中‘, val: ‘center‘}     ]};//文字穿线JcssPicker.cssMap["text-decoration"] = {name: "文字穿线", style: "textDecoration", opts: [      { name: ‘上划线‘, val: ‘overline‘},     { name: ‘下划线‘, val: ‘underline‘},     { name: ‘删除线‘, val: ‘line-through‘}     ]};//文字行高JcssPicker.cssMap["line-height"] = {name: "文字行高", style: "lineHeight"};//垂直对齐JcssPicker.cssMap["vertical-align"] = {name: "垂直对齐", style: "verticalAlign", opts: [ 	  { name: ‘默认‘, val: ‘baseline‘},	  { name: ‘顶端对齐‘, val: ‘top‘},	  { name: ‘中部对齐‘, val: ‘middle‘},	  { name: ‘底部对齐‘, val: ‘bottom‘},	  { name: ‘字体顶端对齐‘, val: ‘text-top‘},	  { name: ‘总统底端对齐‘, val: ‘text-bottom‘}	  ]};//文字间距JcssPicker.cssMap["letter-spacing"] = {name: "文字间距", style: "letterSpacing"};//背景色JcssPicker.cssMap["background-color"] = {name: "背景色", style: "backgroundColor"};//宽度JcssPicker.cssMap["width"] = {name: "宽度", style: "width"};//高度JcssPicker.cssMap["height"] = {name: "高度", style: "height"};//外边距JcssPicker.cssMap["margin"] = {name: "外边距", style: "margin"};//内边距JcssPicker.cssMap["padding"] = {name: "内边距", style: "padding"};//边框JcssPicker.cssMap["border"] = {name: "边框", style: "border"};//边框宽度JcssPicker.cssMap["border-width"] = {name: "边框宽度", style: "borderWidth"};//边框风格JcssPicker.cssMap["border-style"] = {name: "边框风格", style: "borderStyle", opts: [ 	  { name: ‘无边框‘, val: ‘none‘},	  { name: ‘虚线‘, val: ‘solid‘},	  { name: ‘虚线‘, val: ‘dashed‘}	  ]};//边框颜色JcssPicker.cssMap["border-color"] = {name: "边框颜色", style: "borderColor"};//======================测试示例,可以注释掉==================================================================$(document).ready(function() {    	initHtml(el("divCssPicker"));	$("#divCssPicker").find("[jsstyle]").on("change", function(){				$("#divTest").css($(this).attr("cssstyle"), $(this).val());		document.getElementById(‘txtTest‘).value = http://www.mamicode.com/el("divTest").style.cssText;	});	document.getElementById(‘txtTest‘).value = http://www.mamicode.com/el("divTest").style.cssText;});function initHtml(elm) {		var divList = $(elm).addClass("JcssPicker-list"); 	divList.empty();	for(var cssStyle in JcssPicker.cssMap)	{		if (JcssPicker.cssMap.hasOwnProperty(cssStyle)) 		{			var styleMap = JcssPicker.cssMap[cssStyle];			var divItem = $("<div>").addClass("JcssPicker-item").appendTo(divList);			var divDesc = $("<div>").attr("title", cssStyle).addClass("Jcss-desc").appendTo(divItem);			var divDisp = $("<div>").attr("title", cssStyle).addClass("Jcss-disp").appendTo(divItem);			divDesc.html(styleMap["name"]+":");			if( styleMap["opts"] && styleMap["opts"].length > 0) {				var sel = $("<select>").addClass("Jcss-select").appendTo(divDisp);				sel.attr("cssstyle",cssStyle);				sel.attr("jsstyle",styleMap["style"]);				sel.append("<option>");				for(var i = 0; i< styleMap["opts"].length; i++) {					sel.append("<option value=http://www.mamicode.com/‘"+styleMap["opts"][i]["val"]+"‘>"+styleMap["opts"][i]["name"]+"</option>");				}			}			else {				var input = $("<input>").addClass("Jcss-input").appendTo(divDisp);				input.attr("cssstyle",cssStyle);				input.attr("jsstyle",styleMap["style"]);			}		}			}	divList.find("[jsstyle=‘color‘],[jsstyle=‘borderColor‘],[jsstyle=‘backgroundColor‘]").click(function(){		JcssPicker.pickColor(this, null, this.value);			});}

  

CSS样式设计工具,兼容性很强的颜色控件