CSS悬停更改另一个元素CSS

感觉右

悬停时如何更改另一个元素CSS?

如我所知~,在:hover能够执行此操作后,我需要的是.shopthumb_gallery ul li img:hover.shopthumb_gallery_name也要与底部对齐放大到相同的宽度。

.shopthumb_wrapper {
	width:auto;
	margin: 0 auto;
}

.shopthumb_gallery {
	margin-top: 30px;
}

.shopthumb_gallery ul {
	list-style-type: none;
	margin-left: 35px;
}

/* animation */
.shopthumb_gallery ul li, .shopthumb_gallery li img {
	-webkit-transition: all 0.1s ease-in-out;
  	-moz-transition: all 0.1s ease-in-out;
  	-o-transition: all 0.1s ease-in-out;
  	transition: all 0.1s ease-in-out;
}

.shopthumb_gallery ul li {
	position: relative;
	float: left;
	width: 130px;
	height: 130px;
	margin: 5px;
	padding: 5px;
	z-index: 0;
	cursor:pointer;
}

/* Make sure z-index is higher on hover */
/* Ensure that hover image overlapped the others */
.shopthumb_gallery ul li:hover {
	z-index: 5;
}

/* Image is position nicely under li */
.shopthumb_gallery ul li img {
	position: absolute;
	left: 0;
	top: 0;
	border: 1px solid #dddddd;
	padding: 5px;
	width: 130px;
	height: 130px;
	background: #f0f0f0;
}

.shopthumb_gallery ul li img:hover {
	width: 200px;
	height: 200px;
	margin-top: -130px;
	margin-left: -130px;
	top: 65%;
	left: 65%;
	text-overflow:none;
}


.shopthumb_gallery_name{
	position:absolute;	
	background:#444;
	opacity:0.8;
	color:#fff;
	font-family: 'Raleway';
	padding:5px;
	font-size:12px;
	bottom:3%;
	width: 120px;
	margin-left:1px;
	overflow: hidden;
    text-overflow: ellipsis; 
}
<div class="shopthumb_wrapper">
                <div class="shopthumb_gallery">
                    <ul>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/9.png">
                        	<label class="shopthumb_gallery_name">NameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameName</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/2.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/3.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/1.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/4.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/5.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/7.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/8.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                        <li><img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/6.png">
                        	<label class="shopthumb_gallery_name">Name</label>
                        </li>
                    </ul>
                </div>

乔什·克罗齐耶(Josh Crozier)

给定您提供的HTML,在这种情况下,两个组合器(+/ ~)都可以使用。

值得指出的是,它~是一个通用的同级组合器,它选择所有后续的同级元素。+邻近的兄弟组合子,其将仅选择后邻接兄弟。

使用以下任一方法:

.shopthumb_gallery ul li img:hover + .shopthumb_gallery_name {
}
.shopthumb_gallery ul li img:hover ~ .shopthumb_gallery_name {
}

我会选择第二个选择器,因为它可能更适合将来使用(假设标记已更改,并且标签不再是相邻的兄弟)。

.shopthumb_wrapper {
  width: auto;
  margin: 0 auto;
}
.shopthumb_gallery {
  margin-top: 30px;
}
.shopthumb_gallery ul {
  list-style-type: none;
  margin-left: 35px;
}
.shopthumb_gallery ul li,
.shopthumb_gallery li img,
.shopthumb_gallery li label {
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}
.shopthumb_gallery ul li {
  position: relative;
  float: left;
  width: 130px;
  height: 130px;
  margin: 5px;
  padding: 5px;
  z-index: 0;
  cursor: pointer;
}
/* Make sure z-index is higher on hover */

/* Ensure that hover image overlapped the others */

.shopthumb_gallery ul li:hover {
  z-index: 5;
}
/* Image is position nicely under li */

.shopthumb_gallery ul li img {
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid #dddddd;
  padding: 5px;
  width: 130px;
  height: 130px;
  background: #f0f0f0;
}
.shopthumb_gallery ul li img:hover {
  width: 200px;
  height: 200px;
  margin-top: -130px;
  margin-left: -130px;
  top: 65%;
  left: 65%;
  text-overflow: none;
}
.shopthumb_gallery_name {
  position: absolute;
  background: #444;
  opacity: 0.8;
  color: #fff;
  font-family: 'Raleway';
  padding: 5px;
  font-size: 12px;
  bottom: 3%;
  width: 120px;
  margin-left: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.shopthumb_gallery ul li img:hover + .shopthumb_gallery_name {
  bottom: -25px;
  color: red;
}
<div class="shopthumb_wrapper">
  <div class="shopthumb_gallery">
    <ul>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/9.png">
        <label class="shopthumb_gallery_name">NameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameNameName</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/2.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/3.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/1.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/4.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/5.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/7.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/8.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
      <li>
        <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/6.png">
        <label class="shopthumb_gallery_name">Name</label>
      </li>
    </ul>
  </div>

附带说明一下,我label通过添加其他选择器将过渡添加到了元素:

.shopthumb_gallery ul li,
.shopthumb_gallery li img,
.shopthumb_gallery li label {
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

我还习惯于bottom: -25pxlabel元素与底部对齐它是一个硬编码的值,但是您可以通过更改一些内容来避免它。

.shopthumb_gallery ul li img:hover + .shopthumb_gallery_name {
  bottom: -25px;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

悬停在CSS中的另一个元素上时更改元素CSS?

来自分类Dev

CSS - 悬停链接时更改另一个元素的样式?

来自分类Dev

是否可以通过 CSS 悬停在另一个元素上来更改 img src

来自分类Dev

CSS-悬停一个元素,更改另一个元素的可见性

来自分类Dev

将一个元素悬停在另一个元素上时更改其CSS

来自分类Dev

当另一个元素纯粹悬停在 css 中时,如何更改一个元素的样式属性?

来自分类Dev

CSS,悬停一个元素,通过过渡影响另一个元素

来自分类Dev

当一个元素悬停并影响CSS中的另一个元素/类时,如何添加悬停效果?

来自分类Dev

CSS悬停更改另一个div(在另一个单独的包装div中)

来自分类Dev

悬停时,更改不近的另一个元素

来自分类Dev

使用CSS将元素悬停在另一个元素上

来自分类Dev

如何使用css / Extjs将元素悬停在另一个元素上

来自分类Dev

css3选择器问题:悬停效果另一个元素

来自分类Dev

如何仅使用CSS在另一个元素的悬停上显示div

来自分类Dev

CSS悬停过渡到另一个元素

来自分类Dev

CSS:将鼠标悬停在另一个元素上

来自分类Dev

将鼠标悬停在另一个div上时CSS更改div

来自分类Dev

悬停另一个div时,通过过渡更改div图像(仅CSS)

来自分类Dev

如何在悬停另一个元素时更改一个元素的颜色?

来自分类Dev

CSS,将鼠标悬停在一个元素上,影响另一个

来自分类Dev

Css 通过单击另一个元素来更改元素的颜色

来自分类Dev

更改悬停CSS上一个元素的状态

来自分类Dev

围绕另一个元素旋转元素-CSS

来自分类Dev

CSS OnHover-更改另一个元素的属性及其本身

来自分类Dev

通过单击另一个来更改元素的CSS样式

来自分类Dev

如何使用jQuery从另一个页面更改元素的CSS?

来自分类Dev

CSS3-如何在将一个元素(最好是div元素)悬停在另一个元素上时移动?

来自分类Dev

当悬停另一个元素不起作用时更改元素的样式

来自分类Dev

当将另一个元素悬停在元素上时,如何更改:hover状态?

Related 相关文章

  1. 1

    悬停在CSS中的另一个元素上时更改元素CSS?

  2. 2

    CSS - 悬停链接时更改另一个元素的样式?

  3. 3

    是否可以通过 CSS 悬停在另一个元素上来更改 img src

  4. 4

    CSS-悬停一个元素,更改另一个元素的可见性

  5. 5

    将一个元素悬停在另一个元素上时更改其CSS

  6. 6

    当另一个元素纯粹悬停在 css 中时,如何更改一个元素的样式属性?

  7. 7

    CSS,悬停一个元素,通过过渡影响另一个元素

  8. 8

    当一个元素悬停并影响CSS中的另一个元素/类时,如何添加悬停效果?

  9. 9

    CSS悬停更改另一个div(在另一个单独的包装div中)

  10. 10

    悬停时,更改不近的另一个元素

  11. 11

    使用CSS将元素悬停在另一个元素上

  12. 12

    如何使用css / Extjs将元素悬停在另一个元素上

  13. 13

    css3选择器问题:悬停效果另一个元素

  14. 14

    如何仅使用CSS在另一个元素的悬停上显示div

  15. 15

    CSS悬停过渡到另一个元素

  16. 16

    CSS:将鼠标悬停在另一个元素上

  17. 17

    将鼠标悬停在另一个div上时CSS更改div

  18. 18

    悬停另一个div时,通过过渡更改div图像(仅CSS)

  19. 19

    如何在悬停另一个元素时更改一个元素的颜色?

  20. 20

    CSS,将鼠标悬停在一个元素上,影响另一个

  21. 21

    Css 通过单击另一个元素来更改元素的颜色

  22. 22

    更改悬停CSS上一个元素的状态

  23. 23

    围绕另一个元素旋转元素-CSS

  24. 24

    CSS OnHover-更改另一个元素的属性及其本身

  25. 25

    通过单击另一个来更改元素的CSS样式

  26. 26

    如何使用jQuery从另一个页面更改元素的CSS?

  27. 27

    CSS3-如何在将一个元素(最好是div元素)悬停在另一个元素上时移动?

  28. 28

    当悬停另一个元素不起作用时更改元素的样式

  29. 29

    当将另一个元素悬停在元素上时,如何更改:hover状态?

热门标签

归档