当用户在内部制作 "mouseon" 时代码悬停外部 html 元素?
Code-hovering outer html element when user makes "mouseon" on inner?
CSS代码:
div.albumTitleBackground {
position:absolute;
z-index:1;
background-color:whitesmoke;
/*top:2.5%;
left:2.5%;
right:2.5%;
bottom:2.5%;*/
top:0;
left:0;
bottom:0;
right:0;
opacity:0;
transition:all 0.25s ease-in-out;
}
div.albumTitleText {
display:inline-block;
font-family:'Times New Roman';
font-size:6em;
position:absolute;
z-index:2;
color:darkgray;
top:50%;
left:5%;
}`
HTML代码:
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
问题:想法是当用户进入元素内部时 'albumTitleBackground' div 的背景应该是动画的 并且当用户将鼠标悬停在 [=25] 上时必须保持不变=] div。哪种方式是最简单的方式(和跨浏览器一样)来实现这一目标?
将您的 HTML 结构更改为
<div class="albumTitleBackground">
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
您需要将标题文本包裹在标题背景中div
可以通过三种方式做到这一点:
两个涉及改变您的 HTML
1) 正如@melwynpawar 所说,您需要将标题 div 包裹在背景 div 中。
<div class="albumTitleBackground">
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
并使用CSS:
.albumTitleBackground:hover {
/* Animations Here */
}
2) 您可以将其全部包装在一个容器中 div。像这样:
<div class="container">
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
和CSS:
.container:hover .albumTitleBackground {
/* Animations Here */
}
然后不改变你的 HTML
3) 两个 CSS 规则
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
和CSS:
.albumTitleBackground:hover {
/* Animations Here */
}
.albumTitleText:hover .albumTitleBackground {
/* Animations Here */
}
不推荐最后一个,因为您必须始终检查这两个规则是否相同。请注意,当您从一个 div 移动到另一个时,动画可能会重新开始。
CSS代码:
div.albumTitleBackground {
position:absolute;
z-index:1;
background-color:whitesmoke;
/*top:2.5%;
left:2.5%;
right:2.5%;
bottom:2.5%;*/
top:0;
left:0;
bottom:0;
right:0;
opacity:0;
transition:all 0.25s ease-in-out;
}
div.albumTitleText {
display:inline-block;
font-family:'Times New Roman';
font-size:6em;
position:absolute;
z-index:2;
color:darkgray;
top:50%;
left:5%;
}`
HTML代码:
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
问题:想法是当用户进入元素内部时 'albumTitleBackground' div 的背景应该是动画的 并且当用户将鼠标悬停在 [=25] 上时必须保持不变=] div。哪种方式是最简单的方式(和跨浏览器一样)来实现这一目标?
将您的 HTML 结构更改为
<div class="albumTitleBackground">
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
您需要将标题文本包裹在标题背景中div
可以通过三种方式做到这一点:
两个涉及改变您的 HTML
1) 正如@melwynpawar 所说,您需要将标题 div 包裹在背景 div 中。
<div class="albumTitleBackground">
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
并使用CSS:
.albumTitleBackground:hover {
/* Animations Here */
}
2) 您可以将其全部包装在一个容器中 div。像这样:
<div class="container">
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
</div>
和CSS:
.container:hover .albumTitleBackground {
/* Animations Here */
}
然后不改变你的 HTML
3) 两个 CSS 规则
<div class="albumTitleBackground"></div>
<div class="albumTitleText">
@albumPreviewPhoto.ParentAlbumTitle
</div>
和CSS:
.albumTitleBackground:hover {
/* Animations Here */
}
.albumTitleText:hover .albumTitleBackground {
/* Animations Here */
}
不推荐最后一个,因为您必须始终检查这两个规则是否相同。请注意,当您从一个 div 移动到另一个时,动画可能会重新开始。