CSSのuser-selectプロパティでテキスト選択の可否を設定する方法
CSSでは、user-selectプロパティを使用することで、要素内のテキストがユーザーによって選択可能かどうかを制御できます。例えば、ボタンやコピーライト表記など、ユーザーに選択されたくないテキストに対してuser-select: none;を指定すると、ドラッグしてもテキストが選択されなくなります。
基本的な使い方
以下の例では、div要素にuser-select: none;を適用しています。このスタイルが設定された要素内のテキストは、マウスやタッチ操作でも選択できません。
サンプルコード
<!DOCTYPE html>
<html>
<head>
<style>
div {
user-select: none;
}
</style>
</head>
<body>
<h2>これはデモの見出しです</h2>
<div>これはデモのテキストです。選択することはできません。</div>
</body>
</html>主な値とその動作
user-selectプロパティには、以下のような値を指定できます。
- none: 要素内のテキストを選択不可にします。
- auto: ブラウザの既定動作に従います(初期値)。
- text: テキストをユーザーが選択できるようにします。
- all: 要素内をクリックすると、テキスト全体が自動的に選択されます。
対応ブラウザについて
user-selectプロパティは主要なモダンブラウザでサポートされていますが、古いブラウザとの互換性を確保するため、ベンダープレフィックス(-webkit-user-selectなど)を併記しておくと安心です。
-
CSSのcolumn-rule-styleプロパティで列間の罫線スタイルを設定する方法
マルチカラムレイアウトにおいて、列と列の間に表示される罫線(ルール)のスタイルを設定するには、CSSの column-rule-style プロパティを使用します。このプロパティを使うことで、破線や点線、実線など、さまざまなデザインの区切り線を簡単に実装できます。column-rule-styleで指定できる主な値none … 罫線を表示しない(初期値)hidden … 罫線を非表示にするdotted … 点線で表示するdashed … 破線で表示するsolid … 実線で表示するdouble … 二重線で表示するgroove / ridge / inset / outset … 立体的な装飾
-
CSSのunicode-bidiプロパティでテキストの書字方向を上書きし、多言語対応を実現する方法
unicode-bidiプロパティとはアラビア語やヘブライ語など、右から左へ記述される言語(RTL言語)を含む多言語サイトでは、テキストの表示方向を正しく制御することが重要です。CSSのunicode-bidiプロパティを使用すると、directionプロパティと組み合わせて、テキストの書字方向を上書き(オーバーライド)するかどうかを設定できます。主な値とその役割normal:デフォルト値。追加の埋め込みレベルは適用されません。bidi-override:directionプロパティで指定した方向に従い、文字の並び順を強制的に上書きします。isolate:要素の内容を周囲のテキストから分離(隔