□TABLEの色組み合わせを試すツール
TABLEの色組み合わせをマウス操作で試すツール:css3出力あり
テーブルの奇数行、偶数行をマウス操作で色々と変えてみることのできるツールを 作成しました。操作はcss3のstyleの表記にも反映します。
要素の色表示テーブルまたは
[色適用要素]を選択し、色チップをクリックすると左のテーブルの
色がかわります。
[枠/ヘッダ/ヘッダの文字/奇数行/同文字/偶数行/同文字]が設定
できます。
適用背景はサンプルテーブルのセルをクリックすることでも選択できます。
文字の色は[色選択要素]で「文字」を選択し、色チップで変更できるほか、ヘッダ/奇数/偶数
の選択状態で[黒][白][青]を選択することもできます。
css3のstyle記述例にも反映されます。色を名前とするか16進値とするかを選択できます。
| 大型 | → | 小型 |
|---|---|---|
| ワシ | → | スズメ |
| ペンギン | → | ツバメ |
| ツル | → | チドリ |
| ハト | → | メジロ |
| 枠 | ヘッダ | ヘッダ文字 | |
| black #000000 |
darkblue #00008b |
white #ffffff |
|
| 奇数行 | 奇数行文字色 | 偶数行 | 偶数行文字色 |
| honeydew #f0fff0 |
black #000000 |
lightcyan #e0ffff |
black #000000 |
色適用要素:
| black #000000 |
dimgray #696969 |
gray #808080 |
darkgray #a9a9a9 |
| silver #c0c0c0 |
lightgrey #d3d3d3 |
gainsboro #dcdcdc |
whitesmoke #f5f5f5 |
| white #ffffff |
snow #fffafa |
ghostwhite #f8f8ff |
floralwhite #fffaf0 |
| linen #faf0e6 |
antiquewhite #faebd7 |
papayawhip #ffefd5 |
blanchedalmond #ffebcd |
| bisque #ffe4c4 |
moccasin #ffe4b5 |
navajowhite #ffdead |
peachpuff #ffdab9 |
| mistyrose #ffe4e1 |
lavenderblush #fff0f5 |
seashell #fff5ee |
oldlace #fdf5e6 |
| ivory #fffff0 |
honeydew #f0fff0 |
mintcream #f5fffa |
azure #f0ffff |
| aliceblue #f0f8ff |
lavender #e6e6fa |
lightsteelblue #b0c4de |
lightslategray #778899 |
| slategray #708090 |
steelblue #4682b4 |
royalblue #4169e1 |
midnightblue #191970 |
| navy #000080 |
darkblue #00008b |
mediumblue #0000cd |
blue #0000ff |
| dodgerblue #1e90ff |
cornflowerblue #6495ed |
deepskyblue #00bfff |
lightskyblue #87cefa |
| skyblue #87ceeb |
lightblue #add8e6 |
powderblue #b0e0e6 |
paleturquoise #afeeee |
| lightcyan #e0ffff |
cyan #00ffff |
aqua #00ffff |
turquoise #40e0d0 |
| mediumturquoise #48d1cc |
darkturquoise #00ced1 |
lightseagreen #20b2aa |
cadetblue #5f9ea0 |
| darkcyan #008b8b |
teal #008080 |
darkslategray #2f4f4f |
darkgreen #006400 |
| green #008000 |
forestgreen #228b22 |
seagreen #2e8b57 |
mediumseagreen #3cb371 |
| mediumaquamarine #66cdaa |
darkseagreen #8fbc8f |
aquamarine #7fffd4 |
palegreen #98fb98 |
| lightgreen #90ee90 |
springgreen #00ff7f |
mediumspringgreen #00fa9a |
lawngreen #7cfc00 |
| chartreuse #7fff00 |
greenyellow #adff2f |
lime #00ff00 |
limegreen #32cd32 |
| yellowgreen #9acd32 |
darkolivegreen #556b2f |
olivedrab #6b8e23 |
olive #808000 |
| darkkhaki #bdb76b |
palegoldenrod #eee8aa |
cornsilk #fff8dc |
beige #f5f5dc |
| lightyellow #ffffe0 |
lightgoldenrodyellow #fafad2 |
lemonchiffon #fffacd |
wheat #f5deb3 |
| burlywood #deb887 |
tan #d2b48c |
khaki #f0e68c |
yellow #ffff00 |
| gold #ffd700 |
orange #ffa500 |
sandybrown #f4a460 |
darkorange #ff8c00 |
| goldenrod #daa520 |
peru #cd853f |
darkgoldenrod #b8860b |
chocolate #d2691e |
| sienna #a0522d |
saddlebrown #8b4513 |
maroon #800000 |
darkred #8b0000 |
| brown #a52a2a |
firebrick #b22222 |
indianred #cd5c5c |
rosybrown #bc8f8f |
| darksalmon #e9967a |
lightcoral #f08080 |
salmon #fa8072 |
lightsalmon #ffa07a |
| coral #ff7f50 |
tomato #ff6347 |
orangered #ff4500 |
red #ff0000 |
| crimson #dc143c |
mediumvioletred #c71585 |
deeppink #ff1493 |
hotpink #ff69b4 |
| palevioletred #db7093 |
pink #ffc0cb |
lightpink #ffb6c1 |
histle #d8bfd8 |
| magenta #ff00ff |
fuchsia #ff00ff |
violet #ee82ee |
plum #dda0dd |
| orchid #da70d6 |
mediumorchid #ba55d3 |
darkorchid #9932cc |
darkviolet #9400d3 |
| darkmagenta #8b008b |
purple #800080 |
indigo #4b0082 |
darkslateblue #483d8b |
| blueviolet #8a2be2 |
mediumpurple #9370db |
slateblue #6a5acd |
mediumslateblue #7b68ee |
<style type="text/css">
table.t {border:1px solid #000000; border-collapse:collapse;}
table.t td{border:1px solid #000000;}
table.t th{border:1px solid #000000;}
table.t th{background-color:#00008b;color:#ffffff;}
table.t tr:nth-child(odd) td{background-color:#f0fff0;color:#000000;}
table.t tr:nth-child(even) td{background-color:#e0ffff;color:#000000;}
</style>
### メモ
イベントが発生した要素をactiveElementで得ることはfirefoxでは出来ませんでした。
firefoxでは複数行からなる文字列の取り扱いは全て細かく利用者が 行わなければなりません。firefox以外ではinnterTextで簡単にできる ものが、firefoxのtextContentでは改行が取り扱われないため、 textNodeの並びとBRElementの並びを自力で操作する必要があります。
次の臨時のコードでテキストの取得、設定を行っています。
<script type="text/javascript">
function setInnerText(elm,txt){
if (typeof elm.innerText == "undefined") {
while (elm.firstChild) {
elm.removeChild(elm.firstChild);
}
var txts = txt.split("<br>"); // <br>で分割
for(var i=0;i<txts.length;++i){
if( i!=0 ) elm.appendChild(document.createElement("br"));
elm.appendChild(document.createTextNode(txts[i]));
}
}
else {
elm.innerText = txt; // firefox以外はこんなに簡単
}
}
function getInnerText(elm){
if (typeof elm.innerText == "undefined") {
var text="";
var childs= elm.childNodes;
if( childs!=null ){
for(var i=0;i<childs.length;++i){
if( childs[i].nodeType==3 ){ // 3 mean Text
text += childs[i].textContent;
}
else if( childs[i].nodeType==1 ){ // BRElementのはず
text +="<br>";
}
}
}
return text;
}
else {
return elm.innerText; // firefox以外はこんなに簡単
}
}
</script>
firefoxではcolor,backgroundColorを取得した場合#xxxxxxでなくrgb(ddd ddd ddd)の
形式が得られます。
10進数->16進数変換を行い他のブラウザに揃えます。
<script type="text/javascript">
function toHexRGB(txt){
if( txt.indexOf("rgb") !=0 ) return txt; // startsWithの代わり
txt = txt.replace("rgb(","").replace(")","");
var txts = txt.split(",");
var ret="#";
for(var i=0;i<txts.length;++i){
var val= parseInt(txts[i]);
var h = val.toString(16);
if( h.length==1 ) ret+="0";
ret += h;
}
return ret;
}
</script>
なお、最終的にはこれは使わない形になりました。
いやあ、firefox対応は本当に大変だ。本質プログラムよりfirefox対応の方が長くなる。
| 固定リンク

