勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

CSSのdisplayについて

   2014/07/02  CSS

よく使うdisplayだけれども、noneとblock以外で
初めて使うことがあったのでメモ。

■参考サイト
http://www.tohoho-web.com/css/prop/display.htm

■サンプル
http://sample.taitan916.info/table_row/

■ソース
<!DOCTYPE HTML>
<html lang="ja">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function show_table1(){
$("#test").css({'display' : 'block'});
}
function show_table2(){
$("#test").css({'display' : 'table-row'});
}
function show_table3(){
$("#test").show();
}
</script>
<title>jQuery</title>
</head>
<body>
<h1>jQuery</h1>
<table border="1">
<tr>
<th>1</th><th>2</th><th>3</th>
</tr>
<tr id="test" style="display:none;">
<td colspan="3">テスト</td>
</tr>
</table>
<input type="button" value="click1" onClick="show_table1();">
<input type="button" value="click2" onClick="show_table2();">
<input type="button" value="click3" onClick="show_table3();">
</body>
</html>

■思ったこと
colspanでくっつけてるテーブルがあり、いつもどおり
noneからblockに変えたら表示するだろうと思ってやるも
表示崩れが発生(click1)。

色々調べたらdisplay:table-row;だとキレイに表示された(click2)。

ただ、jQuery使うならshowでよさそう(click3)。

 - CSS

  関連記事

Flash上にHTMLのテキストやリンク(aタグ)を重ねる方法

FlashにHTMLで文字を書きたかった。そのまま書くのは無理だろうけどCSSか ...

CSSで一つの要素に対して複数の背景色を指定する方法

1つのdiv要素に対して複数の背景色をつけたかった。background-col ...

videoタグで表示させた動画をjQuery&CSSでフローティングビデオ対応させる方法

Web上の動画をFloatingVideo対応したいという要望を受けた。ページ上 ...

スマホサイトでviewportを指定しても横スクロールバーが表示される

スマホ用のサイトでviewportが指定されており、widthも100%になって ...

LINE風のふきだしデザイン

LINE風のふきだしデザインでページを作ってほしいと言われた。 CSSはあまり理 ...