简体   繁体   English

将鼠标悬停在CSS中的一个div上时更改两个div的边框颜色

[英]Change border color of both divs when hover on one div in css

i have two divs and and i want if when i hover on one div, border color of both divs should be change... 我有两个div,并且如果我将鼠标悬停在一个div上时,两个div的边框颜色都应该更改...

CSS : CSS:

.uperdiv {
width:80%;
background-color:black;
margin-left:10%;
border-style:none solid none solid ;
border-width:5px; 
border-color:#fff;
border-top-style:none;
height:170px;
margin-top:-220px;
transition:border-color 2s;
-moz-transition:border-color 2s;
-webkit-transition:border-color 2s;
-o-transition:border-color 2s;
}
.uperdiv:hover + .lowerdiv{
border-color:#9900ff;
}   
.lowerdiv {
border-style:none solid solid solid ;
border-color:#fff;
border-width:5px;
background-color:black;
width:80%;
border-bottom-left-radius:15px;
border-bottom-right-radius:15px;
height:50px;
margin-left:10%;
}

HTML 的HTML

<div class="uperdiv">
Some text
</div>
<div class="lowerdiv">
</div>

I tried + sign but it changes lower div border color when i hover on uper div...and you can say that i want to create effects as of one div. 我试过+符号,但是当我将鼠标悬停在上层div上时,它会更改下层div边框的颜色...您可以说我想从一个div开始创建效果。 And now i have no idea.. is there any way to do it?? 现在我不知道..有什么办法吗? And plz don't use jquery and javascript only css and css3 Thanks in advance :) 和PLZ不要只使用jQuery和JavaScript的CSS和CSS3提前感谢:)

Unfortunately, you can't (yet) target the previous sibling using CSS. 不幸的是,您还不能使用CSS定位先前的同级对象。 You could put the two div s in a container, though, and apply the :hover to that. 但是,您可以将两个div放在容器中,然后将:hover应用于该容器。

html html

<div class="container">
    <div class="upperdiv">
        Some text
    </div>
    <div class="lowerdiv">
        Some text 2
    </div>
</div>

css 的CSS

.container:hover .upperdiv,
.container:hover .lowerdiv {
    border-color: #9900ff;
}

This way, when you hover either .upperdiv or .lowerdiv , both will have the border-color applied. 这样,当您将.upperdiv.lowerdiv悬停时,两者都将应用border-color


We might be able to do this without the container in the future, using the subject indicator 我们将来可以使用主题指示器在没有容器的情况下完成此操作

It would look something like this; 看起来像这样;

.upperdiv:hover,
.upperdiv:hover + .lowerdiv,
.lowerdiv:hover,
!.upperdiv + .lowerdiv:hover { /* target .upperdiv when the next sibling is hovered */
    border-color: #9900ff;
}

HTML: HTML:

<div class="anyClass">

    <div class="upper">

    </div>

    <div class="lower">

    </div>

</div>

Css: CSS:

.anyClass:hover div{
    border:1px solid #ccc;
}

Just add a container with anyClass to hold your div's then add the css 只需添加一个带有anyClass的容器来保存div,然后添加css

You need to add hover for the uper div class: 您需要为上层div类添加悬停:

.uperdiv:hover

FIDDLE 小提琴

Check it out: 看看这个:

html: 的HTML:

 <div class="upperdiv">Some text</div>
 <div class="lowerdiv"></div>

css: CSS:

   .upperdiv, .lowerdiv{
        width: 100px;
        height: 100px;
        border: 1px solid blue;
    }

    .upperdiv:hover, .upperdiv:hover+.lowerdiv{
        border-color: red;
    }

It's kind of simplified but it's what you want. 它有点简化,但这正是您想要的。

Fiddle: http://jsfiddle.net/b58CU/ 小提琴: http : //jsfiddle.net/b58CU/

Try this 尝试这个

.uperdiv:hover, .uperdiv:hover + .lowerdiv{
border-color:#9900ff;    
}

DEMO 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM