画像を使わずに見出しを水平線で挟むCSS小技

Ads

ちょっと素敵だったので備忘録。CSS
で見出しを水平線で囲むテクニック
です。本とかでよくある表現方法です
が、これを画像を使わず実装しよう、
というもの。クロスブラウザで動作
しますので汎用性もありますね。

これはいいですな・・・IE6でも7でも実装出来て、背景カラーや画像にも依存しません。

demo

こんな感じ。よく見かけますが、これをCSSのみで実装するTipsです。

CSS

  h1 {
    border-top: 1px solid black;
    margin:23px 0 0;
    text-align:center;
    padding:0; height:24px;
}
 
  h1 span {
    position: relative;
    top: -24px;
    padding: 0 20px;
    background:white;
}

borderを使って実装。h1にborderを付けて位置を下げ、spanで囲ってテキストだけ元の位置に戻す・・なるほど。僕がcss苦手だから思いつきませんでしたw

html

<h1><span>Kachibito</span></h1>

普通に書くだけ。

jQueryを使う

spanが含まれていないような既存サイトに導入したいのであればjQueryでspanを入れてあげればいいですね。

$(document).ready(function() {
    var h = $('h1'),
        htext = $(h).text(),
        full = '<span>' + htext + '</span>';
    $(h).html(full);
  });

IE6


IE6でも7でも8でも問題なし。
[note]続き書いたので宜しければ。[/note]
これは結構使うかも。他にもいろいろ試したくなりますねー。いいテクニックですね。
以下を参考にしました。

via:impressivewebs