私はこれをウェブ全体で探していましたが、解決策は言うまでもなく、これを尋ねても他の人を見つけることさえできません...
テキストが選択されているときに、テキスト入力内のハイライト領域の色を変更する方法はありますか? ハイライトの境界や背景ではなく、実際にテキストを選択したときにテキストの周囲に表示される部分です。
これを探している場合:
リンクは次のとおりです。
http://css-tricks.com/overriding-the-default-text-selection-color-with-css/
これがコードです。
/*** Works on common browsers ***/
::selection {
background-color: #352e7e;
color: #fff;
}
/*** Mozilla based browsers ***/
::-moz-selection {
background-color: #352e7e;
color: #fff;
}
/***For Other Browsers ***/
::-o-selection {
background-color: #352e7e;
color: #fff;
}
::-ms-selection {
background-color: #352e7e;
color: #fff;
}
/*** For Webkit ***/
::-webkit-selection {
background-color: #352e7e;
color: #fff;
}
これは古い質問だと思いますが、これに出くわした人は誰でも、このJSFiddlecontenteditable
に示されているようにこれを使用して行うことができます。
コメントでこれに言及したアレックスへの称賛(私は今までそれを見ませんでした!)
ここでのすべての答えは、::selection
疑似要素とその仕組みに関しては正しいです。ただし、質問は実際には、テキスト入力での使用方法を具体的に尋ねています。
これを行う唯一の方法は、入力の親を介してルールを適用することです (それに関しては任意の親):
.parent ::-webkit-selection, [contenteditable]::-webkit-selection {
background: #ffb7b7;
}
.parent ::-moz-selection, [contenteditable]::-moz-selection {
background: #ffb7b7;
}
.parent ::selection, [contenteditable]::selection {
background: #ffb7b7;
}
/* Aesthetics */
input, [contenteditable] {
border:1px solid black;
display:inline-block;
width: 150px;
height: 20px;
line-height: 20px;
padding: 3px;
}
<span class="parent"><input type="text" value="Input" /></span>
<span contenteditable>Content Editable</span>
@マイク・エン、
テキストの背景色を選択すると、 ::selection を使用してテキストの色を変更できます。::selectionはクロムで機能することに注意してください。Firefox ベースのブラウザーで機能させるには、これを試してください::-moz-selection
reset.css または効果を適用したい css ページで、次のコード スニペットを試してください。
::selection{
//Works only for the chrome browsers
background-color: #CFCFCF; //This turns the background color to Gray
color: #000; // This turns the selected font color to Black
}
::-moz-selection{
//Works for the firefox based browsers
background-color: #CFCFCF; //This turns the background color to Gray
color: #000; // This turns the selected font color to Black
}
上記のコードは、入力ボックスでも機能します。
リンクをありがとうございますが、実際のテキストの強調表示が公開されていないように見えます。
手元にある実際の問題に関しては、テキスト入力の必要性を完全に排除し、JavaScriptでinnerHTMLを使用することで、別のアプローチを選択することになりました。テキストの強調表示を回避するだけでなく、実際にははるかにきれいに見えます。
HTMLフォームコントロールに対するこのきめ細かい調整は、フォームコントロールを完全に排除するためのもう1つの良い議論です。はは!
このコードを使用してみてください:
/* For Mozile Firefox Browser */
::-moz-selection { background-color: #4CAF50; }
/* For Other Browser*/
::selection { background-color: #4CAF50; }
これが役立つと思います:
選択スタイル
ユーザーが選択したテキストの色と背景を定義することができます。
以下で試してみてください。何かを選択すると、このように表示されます。ブラウザは選択スタイルをサポートしています。
の段落
normal ::selection
です。の段落
::-moz-selection
です。の段落
::-webkit-selection
です。テストシート:
p.normal::selection { background:#cc0000; color:#fff; } p.moz::-moz-selection { background:#cc0000; color:#fff; } p.webkit::-webkit-selection { background:#cc0000; color:#fff; }
Quirksmodeより引用