古いタイプのサイトで背景画像を使ったノート風の罫線というのが流行ったのですが、あれをCSSだけで作ります。
gradientを使った罫線
CSS3の線形グラデーション(gradient)機能を使って、ノートやレポート用紙のような罫線を作ります。
デモ
これはノート風に罫線を付けたスタイルです。
段落と段落の間は1行あける設定にしています。ついでに、一般的な書式にしたがって各段落の1文字目を字下げする設定にもしてみました。<br />
ちなみに、途中で改行すると次の行は文頭から始まります。DIVの高さは可変なので、テキストが長くなると自然に全体が伸びていきます。
Pタグに border-bottom を引くと短い行の時に罫線が途切れてしまうのですが、これは外側のボックスに罫線を引いて、それに併せてテキストを表示しているので端から端まで罫線が入ります。
ただしグラデーションを使って描画しているので、 boder のように点線を使った装飾は出来ません。
HTML
【HTML】
<div id="note">
<p>なんちゃらなんちゃら</p>
<p>ほにゃららほにゃらら</p>
<p>とってんぱらりのぷぅ</p>
</div>
divの内側に<P>タグで段落を設定して下さい。<P>タグを付けるのが面倒な場合は、その分DIVの padding を調整すれば対応可能です。
字下げを希望する場合は必ず<P>タグをつけて下さい。
CSS
【CSS】
#note {
width: 600px; // DIV横幅
font-size: 16px;
color: #222; // 文字色
padding:2rem 1rem 3rem; // 余白
background-color: #fee; // 地の色を変えるときはここで
background-image: linear-gradient( rgba(152,196,255,.3) .1em, transparent .1em );
background-size: auto 2rem; // line-heightと一致させる
line-height: 2rem; // background-sizeと一致させる
border: 1px solid rgba(0,0,0,.2); // 枠線
border-radius: 2px; // 外枠の角丸
overflow: hidden;
}
#note > p { margin: 0 0 2rem; }
#note > p:first-letter { margin-left: 1rem; }
linear-gradient で罫線を引き、background-sizeで繰り返し処理をしています。
CSS で textarea に罫線を入れてノートっぽくしてみよう | phiary
textareaにスタイルを適用した例
バリエーションとして、<textarea> に適用させた例を載せておきます。
デモ
これは <textarea> にノート風の罫線を付けたスタイルです。
基本的な模様はDIVの場合と変わりません。しかし <textarea> の基本属性を受け継ぐために、ちょっと変わった感じになります。
テキストエリアなので、ウィンドウのサイズが可変です。また、中をクリックしてアクティブにするとちょっとびっくりするかも。
コメントをどうぞ(´ω`*)