4

この Web サイトから借用したカスタム ラジオ ボタンがあります: http://www.inserthtml.com/2012/06/custom-form-radio-checkbox/

残念ながら、私は簡単に変更できない便利なプラグインを使用しています。これは、DOM にラベル内のネストされた入力を入力します...

<label>
  <input class="regular-radio">

.regular-radio + labelセレクターを使用してラベルを選択したいと思います。ただし、次の場合にのみ機能します。

<input class="regular-radio">
<label>

ここで例を示しました: http://jsfiddle.net/BR3MB/

その CSS を変更して、隣接するラベルではなく親ラベルで動作するようにするにはどうすればよいですか?
この場合、DOM を編集するのは非常に面倒です。既にその構造に大きく依存しているためです。

4

3 に答える 3

3

残念ながら、CSSは右から左にのみ読み取るため、現在CSSを使用してこれを行うことはできません。つまり、セレクターの右端の要素はスタイルを受け取る要素になり、右端の要素は常にセレクターの左側にある要素の子または兄弟である必要があります。それに関する問題は、スタイルを設定したい要素が親であるということです。

作品には親セレクターがありますが(http://www.red-team-design.com/css-parent-selector)、それまではJavaScriptを使用する必要があります。

そうは言っても、この場合の最善の解決策は、プラグインの出力をより便利なものに変更することだと思います(可能であれば)。

于 2012-09-17T23:55:43.733 に答える
1

悲しいことに、親のスタイリング用のCSSセレクターはありません。親のスタイルを取得する唯一の方法は、Javascriptを使用することです。CSS Tricksで、Chris Coyierが、このセレクターを仕様に追加するかどうかについての議論の長所と短所について話します。個人的には、それが存在することを望みますが、コードが機能しないことを望みます。

于 2012-09-17T23:54:18.377 に答える
0

CSSでは要素の親を選択することはできません。あなたはそれを選択するためにこのようなものを使わなければならないかもしれません:

label:nth-of-type(x) {}

ここで、xは親のラベルの番号です。

于 2012-09-17T23:55:09.797 に答える