CSS

二重の打ち消し線にする方法

投稿日:

あるサイトの更新で、日付を打ち消し線で消して、次の行に新しく正しい日付を掲載するよう修正してほしいとの要望がありました。

打ち消し線は、cssでスタイルをもたせてやればスグにできます。

 

ところが、

 

打ち消し線は一重じゃなくて二重線にして〜というクライアントからの修正依頼が。。。

 

!? 二重線ってどうすればいいの???

 

ってことで、急きょ方法を探しました。

結論から言うと、画像で二重線を作って文字に重ねるんです。

いろいろと検索してみたけれど、残念ながらHTML・CSSで打ち消し線の太さを変えたり、二重線にしたりする方法はありませんでした。
HTMLでは、<strike> 〜 </strike>または<s> 〜 </s>で取り消したい文字を囲むと一重線で取り消し線が引けます。でも、線の色は文字と同じ。
また、<del> 〜 </del>でも取り消し線が引けますが、del要素は、上のstrike要素、s要素が「訂正」というニュアンスに対し、「削除」という意味を持っており、検索エンジンからの評価を下げてしまう可能性があるので使用する場所を選びます。

strike要素やs要素は古いHTML要素で、HTML5では完全に廃止になっています。なので、できるだけCSSを使用したほうがよいようです。

最終的に、「背景画像に線の画像を配置して擬似的に二重線に見せる」という荒技で対処しました。

CSSで二重の取り消し線を引く方法

二重線の画像を用意します。(透過処理も忘れずに!)

             
(こちらの画像はご自由にお使いいただいても構いません。)

CSSの設定をしてから、二重線を引きたい文字を
<span class=”doubleline”> 〜 </span>で囲みます。

 

●CSS

.doubleline { /*二重取り消し線*/
background-image:url(画像のURL);
background-repeat:repeat-x;
background-position: center;
}

●HTML

<p><span class="double line">二重の取り消し線</span>を引きます。</p>

 

 

●ブラウザでの表示

二重の取り消し線を引きます。

 

「text-decoration」を使った場合は、文字の上に取り消し線が乗ります。
二重の取り消し線の場合は、背景画像なので、文字の下に二重線が引かれます。でも、実際の画面上ではそんなに気にならないと思います。

 

CSSで一重の取り消し線を引く方法

「text-decoration」プロパティに「line-through」を指定することによって、取り消し線を引くことができます。

●HTML

<p>取り消し線を引きます。</p>

 

●CSS

p { text-decoration: line-through; }

 

●ブラウザでの表示

取り消し線を引きます。

 

この場合は、文字の色と取り消し線の色が同じになります。

取り消し線の色を変えるには?

文字の色と取り消し線の色を変えたいときは、文字部分を<span> 〜 </span>で囲んでグループ化し、この範囲の文字の色に黒を指定します。

 

●HTML

<p><span>取り消し線を赤にします。</span></p>

 

●CSS

p {
  color: red;
  text-decoration: line-through;
  }
span {
   color: black
  }

 

●ブラウザでの表示

取り消し線を赤にします。

保存保存

本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。

-CSS

執筆者:

関連記事

CSS 可変で文字サイズを変更する

「画面サイズに合わせて文字の大きさも変化させたい」けど、「em」や「rem」や「%」ではうまくいかない。 早速ググってみると。。。ありました! vw(ViewportWidth)とvh(Viewpor …

CSS★display: inline-block;|しっかり理解しておこう!

CSSの設定では display をよく使うけれど、それぞれの要素の特徴は、ぼんやり把握しているだけだったので、ちょっと整理してみました。 特徴インライン要素ブロック要素インラインブロック要素要素の幅 …

CSS★最低の高さを決めて後は可変にする方法

最小の高さだけ決めて、 あとはdivなどの要素の高さに応じて高さを可変にできる指定方法。 CSSで下記のように指定します。   min-height: 80px; height: auto !impo …

CSSでテーブルの背景色を交互に変える方法

今さらですが… CSSだけで表の背景色を交互に変える方法の覚え書き。 ※IE8以下のブラウザには対応していません。 でも、マイクロソフトはIE8のサポートを終了したので、これからはどんどん使えそうです …

CSS★テキストにグラデーションをつける

文字にグラデーションカラーをつけるといえば、イラストレーターなどで画像を用意してからサイト内に配置というのがお約束だったんだけど、CSSだけで実現できるようになりました。 先日の勉強会で習ったばかりの …

サイト制作・グラフィック制作をしているデザイナーです。制作で躓いたことの備忘録としてこのブログを始めました。
たくさんの検索結果から、実際に何度も何度も自分で試してみて、自分に合うなと思った方法やうまくいった方法をこのブログに書き留めています。
プログラム関係のことはもっぱらコピペ派。
自分でゴリゴリ書くことはできません。。。プログラムが分かる人がうらやましいです。
そんな私でもなんとかサイト制作ができるのはグーグル先生と貴重な情報をおしげもなく公開してくださっているたくさんの方々のおかげ。
有志のみなさまに日々感謝しつつ制作させていただいています。