下面的代码,当你单击第一个radio时会显示第一个panel的内容,单击第二个radio时会显示第二个panel的内容。 但是当在后加入后单击第一个radio时会显示第二个panel的内容,加入的为什么会影响pannel的显示呢? form.form .panel { display: none; background: #fff;}form.form .panel:first-child { display: block; }form.form input[name="tabs"]:checked ~ .panels .panel { display: none;}form.form input[name="tabs"]:nth-of-type(1):checked ~ .panels .panel:nth-child(1),form.form input[name="tabs"]:nth-of-type(2):checked ~ .panels .panel:nth-child(2) { display: block;} Tab One Tab Two 11 22 ログイン後にコピー 回复讨论(解决方案) nth-of-type(n) 中的n是指在父元素中的第n个子元素, 你在前面加了一个元素 后面的元素在父元素中的排行就向下移了。 你要nth-of-type()中的数值 <br>form.form .panel { <br> display: none; <br> background: #fff; <br>} <br>form.form .panel:first-child { display: block; } <br>form.form input[name="tabs"]:checked ~ .panels .panel { <br> display: none; <br>} <br>form.form input[name="tabs"]:nth-of-type( 2):checked ~ .panels .panel:nth-child(1), <br>form.form input[name="tabs"]:nth-of-type( 3):checked ~ .panels .panel:nth-child(2) { <br> display: block; <br>} <br> Tab One Tab Two 11 22 form.form input[name="tabs"] は 2 つの入力タグを選択します。 :nth-of-type(1) は同じレベルの最初の入力タグを選択します。ラベルのみを選択します。クラス名、属性名など。 nth-of-type(n) の n は、親要素の n 番目の子要素を参照します。前に要素を追加しました に続く要素のランキングは、親要素内で下に移動します。 nth-of-type() <br>form.form .panel { <br> 表示: なし; <br> 背景: #fff; <br>form.form .panel:first-child { 表示: ブロック; } <br>form.form input[name="tabs"]:checked ~ .panels .panel { <br> 表示: なし; } <br>form.form input[name="tabs"]:nth-of-type(2):checked ~ .panels .panel:nth-child(1), <br>form.form input[name=" tabs"]:nth-of-type( 3):checked ~ .panels .panel:nth-child(2) { <br> 表示: ブロック; <br>} <br> < ;div id="コンテンツ"> <フォームメソッド="post" action="#" class="form"> input id="one" name="tabs" type="radio" >Tab One タブ 2 11 ありがとうございます form.form input[name="tabs] "] 2 つの入力タグを選択しました。 :nth-of-type(1) は、同じレベルの最初の入力タグを選択します。これはタグのみをターゲットにし、クラス名、属性名などをターゲットにすることはできません。 ありがとうございます 2階マスター。 。 。 。 。本当はjsで制御した方が良いと思います。 。 。後のメンテナンスを容易にするために、これをメソッドに書き込みます。 $(' $(this).click(function () panel').eq(index) .show(); }) })