CSSで単語の最初の文字を大文字にする方法(first-letterセレクタの使い方)
CSSで単語の最初の文字を大文字にするには、first-letterセレクタ(擬似要素)を使用します。HTML側のテキストを書き換えることなく、スタイルシートだけで表示を変更できるのが特徴です。
基本的な使い方
たとえば、すべて小文字で書かれた見出しがあるとします。
<h2>this is a lowercase heading</h2>
この「this」の最初の「t」を大文字にしたい場合は、CSSスタイルシートでh2にfirst-letterセレクタを指定するだけで実現できます。
h2::first-letter {
text-transform: capitalize;
}
text-transform: capitalize;は、各単語の先頭文字を大文字に変換するプロパティです。この指定により、見出しは「This is a lowercase heading」と表示されます。
クラスに対して適用する
もちろん、first-letterセレクタはクラス属性にも適用できます。特定の要素だけに効果を与えたい場合は、以下のようにクラス名を指定します。
.name-of-class::first-letter {
text-transform: capitalize;
}
補足:text-transformの主な値
text-transformプロパティには、目的に応じて以下の値を指定できます。
capitalize:各単語の最初の文字を大文字にするuppercase:すべての文字を大文字にするlowercase:すべての文字を小文字にするnone:変換を行わない(デフォルト)
なお、CSSの現行仕様では擬似要素はコロン2つの::first-letterと記述するのが正式な書き方です。コロン1つの:first-letterでも後方互換性により動作しますが、新しいコードでは::first-letterの使用が推奨されています。
-
CSSでプレースホルダーの色を変更する方法|::placeholder疑似要素の使い方
CSSで入力フォームのプレースホルダー(placeholder)の文字色を変更するには、::placeholder 疑似要素を使用します。ただし、ブラウザによって対応状況が異なるため、Internet Explorer や旧 Microsoft Edge 向けのベンダープレフィックスも併せて指定しておくと、より多くの環境で意図した色が反映されます。それぞれのセレクタの役割は以下の通りです。::placeholder … 標準的な疑似要素(Chrome・Firefox・Safari などの主要ブラウザに対応):-ms-input-placeholder … Internet Explorer 1
-
CSSでcontenteditable要素の境界線(枠線)を削除する方法
HTMLのcontenteditable属性を指定した要素は、ブラウザ上で直接テキストを編集できます。しかし、要素をクリックして編集モードにすると、多くのブラウザではデフォルトで青い枠線(アウトライン)が自動的に表示されます。この境界線を非表示にしたい場合は、CSSのoutlineプロパティを使用します。[contenteditable]セレクターに対してoutline: 0px solid transparent;を指定することで、編集時の枠線をきれいに取り除くことができます。コード例<!DOCTYPE html> <html> <head> <st