2016-04-14 12 views
6

は、私は、同じ親要素に属しているいくつかのエリアをしようとして
と私はそれらのいずれかを置くと、他人の不透明度が低下する、または何かだcodepen Codepen純粋なCSSを使用して同じ親の下の他の要素を制御するには?ここ

からの簡単な例です。そうでなければスタイルの変更。例えば

Iが第二の要素を置くと、同じ親を持つ最初の要素は、background-colorを変更することになります。

私は最初の段落で単語エリアを使用するには、子供が本当にdivである必要はありません、それはliまたはpまたは他の要素であることができることを意味します。
は、この問題を解決するために、その要素のいずれかのタイプである可能性があります。

HTMLは次のようになります。

<!-- html --> 
<div class="parent"> 
    <div class="one"></div> 
    <div class="two"></div> 
    <div class="three"></div> 
    <div class="four"></div> 
</div> 

私はこの問題を解決するためにE ~ Fルールを試みたが、私はすでにそれが唯一の親の最初の子である第一divで動作します知っていました。 JavaScriptを除く

、純粋なCSSでこの機能を作るための他の方法はありますか?
THX

+0

uは、前once..orホバーを除く他のすべての要素のCSSを変更したいですのみ? –

+0

参照用に兄弟セレクタ "+"を使用できます。https://css-tricks.com/almanac/selectors/a/adjacent-sibling/ –

+0

CSSを使用して前の要素を選択できます。そのためにはJavascriptを使用する必要があります。あなたが考慮できる他のオプションは、それらを配置し、ホバールールを使用することです –

答えて

2

あなたが.parentを置くと、同様に推移していないすべての子供(pen)のスタイルを変更します。

.parent { 
    width: 100px; /** limit the width of the parent, so you can't hover it, without hovering one of the children as well **/ 
    margin:10px; 

    &:hover > div:not(:hover) { /** only change the background of divs you don't hover as well **/ 
    background: red; 
    } 

    div{ 
    width:100px; 
    height:100px; 
    border:1px solid black; 
    } 
} 
+0

これは私が欲しいものです!どうもありがとう ! – FlyC

+0

親に 'display:inline-block'を使用することができます。定義された幅(子に基づいて幅が決まります)を与える代わりに – Aziz

+0

確かに。それが私の最初のアイデアでした。しかし、私はあなたの一般的なレイアウトについてはっきりしていませんでした。同様の理由からposition:absoluteを使用することもできます。 –

1

あなたは二重のホバー状態を適用していることを作成:関連ノートで

.parent:hover div { 
 
    opacity:0.5; 
 
} 
 

 
.parent:hover div:hover { 
 
    opacity:1; 
 
} 
 

 
.parent div { 
 
    border:1px dashed #CCC; 
 
    padding:1em; 
 
    margin:1em; 
 
    background:#666; 
 
    color:#FFF; 
 
}
<div class="parent"> 
 
    <div class="one">One</div> 
 
    <div class="two">Two</div> 
 
    <div class="three">Three</div> 
 
    <div class="four">Four</div> 
 
</div>

+0

。しかし、「ダブルホバー」状態は本当に私にこの問題を解決するための考えを与えてくれるのです! – FlyC

+0

親の上にマウスを置かない限り、不透明度は変わりません...他にどのようにしたいですか? – Aziz

+0

子供がいない限り、不透明度は変わりません。一度私は子供を抱いて、他の子供の不透明度が変更されます。このようなもの... thx – FlyC

関連する問題