ここ最近、覚えてよかったなーと思ったCSSテクニックをまとめてみる
CSSテクニックは時代とともに変わっていくけれど、ここ1年ほどスタメンレベルで使うCSSテクニックが絞られてきたので、ここらでちょっと個人的にもまとめておこうかと。
liをクラス指定せずに3カラムで並べる
- liボックス
幅:190px
マージン:15px - liボックス
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。 - liボックス
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
<li>にはクラスを指定せずに、左右にぴったりくっ付くように配置が可能。
<style type="text/css">
#box1{
width: 600px;
}
ul{
width: 615px;
margin: 0 -15px 0 0;
overflow: hidden;
_zoom: 1;
font-size:77%;
}
li{
width: 180px;
padding: 5px;
margin-right: 15px;
float: left;
background-color: #cccccc;
}
</style>
<ul>
<li>liボックス<br />
幅:190px<br />
マージン:15px</li>
<li>liボックス<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</li>
<li>liボックス<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</li>
</ul>
liをクラス指定せずに4カラムで並べる
- liボックス
幅:141px
マージン:12px - liボックス
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。 - liボックス
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。 - liボックス
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
もちろん、3列じゃなくて4列でも何列でもできる。
<style type="text/css">
#box2{
width: 600px;
}
ul{
width: 612px;
margin: 0 -12px 0 0;
overflow: hidden;
_zoom: 1;
font-size:85%;
}
li{
width: 131px;
padding: 5px;
margin-right: 12px;
float: left;
background-color: #cccccc;
}
</style>
<ul>
<li>liボックス<br />
幅:141px<br />
マージン:12px</li>
<li>liボックス<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</li>
<li>liボックス<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</li>
<li>liボックス<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</li>
</ul>
高さ指定したボックスの一番下にボタンとかを配置したい。
高さ:100px
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
高さを揃えたいけれど、中身の要素量がバラバラ…の時にでも。
<style type="text/css">
#box3_1{
border:1px solid #cccccc;
background-color: #ffffff;
padding: 5px;
margin: 5px;
height: 100px;
position: relative;
}
#box3_1 input{
position: absolute;
right: 0;
bottom: 0;
}
</style>
<div id="box3_1">
<p>高さ:100px<br />
ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</p>
<p>
<input type="button" value="ボタン" />
</p>
</div>
dt / ddを横並びにする
- dtです。
- ddです。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
- dtです。
- ddです。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
<style type="text/css">
dt{
clear: left;
float: left;
margin:0 0 0.8em 0;
width: 7.5em;
padding:5px;
}
dd{
margin:0 0 0.8em 0em;
padding:5px 0 5px 8em;
background-color: #cccccc;
}
</style>
<dl>
<dt>dtです。</dt>
<dd>ddです。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</dd>
<dt>dtです。</dt>
<dd>ddです。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。</dd>
</dl>
<hr />に画像を使う
↓<hr />。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。ダミーテキスト。
IE6でも表示可能だが、右はじに変な縦線が出る。背景色と罫線画像の色が一緒であれば誤魔化すことは可能。
<style type="text/css">
*html hr{
display :list-item;
width:0;
margin-left:-10px;
list-style :url(line.png) inside;
color:#ffffff;
background-color: #ffffff;
}
hr{
border:0;
height: 26px;
background:url(line.png) 50% 0 no-repeat;
}
</style>
<hr />
IE8, winxpです。
セルをクリックすると中の文字が再整列?文字位置が変わるのですが、これってなぜでしょうか?
[...] 覚えて良かったCSSテクニック « zaru blog (tags: webdesign css) [...]
>kさん
セルとは、横並びにしている li ボックスのことですかね?
文字選択をするとおかしくなるのは、このブログの他のCSS等が影響しているためと思われます。普通に使用すれば、そのような症状は出ません。
「liにはクラスを指定せずに、左右にぴったりくっ付くように配置が可能。」とのことですが、このソースでは出来ませんでしたよ。
こちらのサンプルのソールを見ると#box-allに幅600pxが指定されているようですが、重要なのはこのdivではないでしょうか?
>mickさん
ご指摘ありがとうございます。
そうですね、親のdivに幅指定をしないと、きちんとハマらない事があるようです。修正しました。
覚えて良かったCSSテクニック…
ここ最近、覚えてよかったなーと思ったCSSテクニックをまとめてみる CSSテクニックは時代とともに変わっていくけれど、ここ1年ほどスタメンレベルで使うCSSテクニックが絞られてきたので、ここらでちょっと個人的にもまとめておこうかと。 「liをクラス指定せずに3カラムで並べる」「liをクラス指定せずに4カラムで並べる」「高さ指定したボックスの一番下にボタンとかを配置したい。」「dt / ddを横並びにする」「に画像を使う」といったちょっとした時に思い出したいtipsが揃っています。…
「liをクラス指定せずに3カラムで並べる」ですが、
li {width:190px; padding:0px;}
にすると、
winxp IE6 IE7 の印刷(印刷プレビュー)でカラム落ちしました。
ちなみに、
width:189px; padding:1px; ではカラム落ちし、
width:188px; padding:2px; だとカラム落ちしません。
こちらの環境だけでしょうか??
[...] 覚えて良かったCSSテクニック « zaru blogたなーと思ったcssテクニックをまとめてみる cssテクニックは時代とともに変わっていくけれど、ここ1年ほどスタメンレベルで使うcssテクニックが絞られてきたので、ここらでちょっと個人的にもまとめておこうかと。 liボックス 幅:190px マージン:1…はてなブックマークより [...]