Javascript 在悬停状态下添加类

Javascript 在悬停状态下添加类,javascript,jquery,html,css,hover,Javascript,Jquery,Html,Css,Hover,我在添加悬停类时遇到一些问题。我有它的基本知识,但我的最终结果不是我想要的 在将鼠标悬停在profile pic container上时,我希望profile pic悬停在profile pic container底部的高度仅为30%。此外,我也不知道如何将#profile pic change设置为在此悬停中显示 我做错了什么 $(“#配置文件pic容器”)。悬停( 函数(){$(this.addClass('profile-pic-hover')}, 函数(){$(this.removeC

我在添加悬停类时遇到一些问题。我有它的基本知识,但我的最终结果不是我想要的

在将鼠标悬停在
profile pic container
上时,我希望
profile pic悬停在
profile pic container
底部的高度仅为30%。此外,我也不知道如何将
#profile pic change
设置为在此悬停中显示

我做错了什么

$(“#配置文件pic容器”)。悬停(
函数(){$(this.addClass('profile-pic-hover')},
函数(){$(this.removeClass('profile-pic-hover')}
)
#配置pic容器{
位置:相对位置;
宽度:200px;
高度:200px;
边框:1px纯黑;
光标:指针;
}	
.个人资料图片悬停{
背景:rgba(0,0,0,0.5);
身高:30%;
宽度:100%;
底部:0;
}
#个人资料更改{
显示:无;
颜色:#fff;
}

改变形象

您需要添加另一条规则将其设置为可见

.profile-pic-hover #profile-pic-change {
  display: none;
  color: #fff;
}
但是这里没有理由使用JavaScript,因为它很简单:将鼠标悬停在CSS中,就可以设置元素的样式

#配置pic容器{
位置:相对位置;
宽度:200px;
高度:200px;
边框:1px纯黑;
光标:指针;
}
#配置文件pic容器:悬停{
背景:rgba(0,0,0,0.5);
}
#个人资料更改{
显示:无;
颜色:#fff;
}
#配置文件图片容器:悬停#配置文件图片更改{
显示:块;
}

改变形象

您需要添加另一条规则将其设置为可见

.profile-pic-hover #profile-pic-change {
  display: none;
  color: #fff;
}
但是这里没有理由使用JavaScript,因为它很简单:将鼠标悬停在CSS中,就可以设置元素的样式

#配置pic容器{
位置:相对位置;
宽度:200px;
高度:200px;
边框:1px纯黑;
光标:指针;
}
#配置文件pic容器:悬停{
背景:rgba(0,0,0,0.5);
}
#个人资料更改{
显示:无;
颜色:#fff;
}
#配置文件图片容器:悬停#配置文件图片更改{
显示:块;
}

改变形象

id
选择器比
选择器更具体,要覆盖属性,您可以将id选择器添加到类或添加
!重要信息
关键字:

#profile-pic-container {
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid black;
    cursor: pointer;
}   
#profile-pic-container.profile-pic-hover {
    background: rgba(0, 0, 0, 0.5);
    height: 30%;
    width: 100%;
    bottom: 0;
}
#profile-pic-change {
  display: none;
  color: #fff;
}
使用
!重要信息

#profile-pic-container {
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid black;
    cursor: pointer;
}   
.profile-pic-hover {
    background: rgba(0, 0, 0, 0.5);
    height: 30% !important;
    width: 100% !important;
    bottom: 0;
}
#profile-pic-change {
  display: none;
  color: #fff;
}

id
选择器比
class
选择器更具体,要覆盖属性,可以将id选择器添加到类中或添加
!重要信息
关键字:

#profile-pic-container {
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid black;
    cursor: pointer;
}   
#profile-pic-container.profile-pic-hover {
    background: rgba(0, 0, 0, 0.5);
    height: 30%;
    width: 100%;
    bottom: 0;
}
#profile-pic-change {
  display: none;
  color: #fff;
}
使用
!重要信息

#profile-pic-container {
    position: relative;
    width: 200px;
    height: 200px;
    border: 1px solid black;
    cursor: pointer;
}   
.profile-pic-hover {
    background: rgba(0, 0, 0, 0.5);
    height: 30% !important;
    width: 100% !important;
    bottom: 0;
}
#profile-pic-change {
  display: none;
  color: #fff;
}

您可以通过使用CSS和transition属性来实现这一点。更改配置文件pic链接可以使用hover属性显示

#配置pic容器{
位置:相对位置;
宽度:200px;
高度:200px;
边框:1px纯黑;
光标:指针;
过渡:高度1s;
}	
.个人资料图片悬停{
背景:rgba(0,0,0,0.5);
身高:30%;
宽度:100%;
底部:0;
}
#个人资料更改{
显示:无;
颜色:#fff;
}
#配置文件pic容器:悬停{
高度:计算(200px*(30/100));
背景:rgba(0,0,0,0.5);
}
#配置文件图片容器:悬停#配置文件图片更改{
显示:块;
}

改变形象

您可以通过使用CSS和transition属性来实现这一点。更改配置文件pic链接可以使用hover属性显示

#配置pic容器{
位置:相对位置;
宽度:200px;
高度:200px;
边框:1px纯黑;
光标:指针;
过渡:高度1s;
}	
.个人资料图片悬停{
背景:rgba(0,0,0,0.5);
身高:30%;
宽度:100%;
底部:0;
}
#个人资料更改{
显示:无;
颜色:#fff;
}
#配置文件pic容器:悬停{
高度:计算(200px*(30/100));
背景:rgba(0,0,0,0.5);
}
#配置文件图片容器:悬停#配置文件图片更改{
显示:块;
}

改变形象

为什么要使用JavaScript
#profile pic container:hover{}
profile pic hover
profile pic container
是相同的元素,因此。。。从侧面图片容器的底部,仅上升30%的高度。。。。不会像你想象的那样使用你的实际css代码那么我该怎么做才能让它只达到30%。@DaniP这太完美了!留下一个答案。为什么要使用JavaScript呢
#profile pic container:hover{}
profile pic hover
profile pic container
是相同的元素,因此。。。从侧面图片容器的底部,仅上升30%的高度。。。。不会像你想象的那样使用你的实际css代码那么我该怎么做才能让它只达到30%。@DaniP这太完美了!请留下答案。如何使黑色背景元素仅占容器高度的30%?如何使黑色背景元素仅占容器高度的30%?如果您可以控制所有css,请使用
!重要信息
不应被需要和使用。你应该使用
!重要信息
仅作为最后手段,但请始终记住这是一个可疑的解决方案。即使你不能控制所有的css代码,那么使用
ID
前缀等专门化也可以解决大多数问题<代码>!重要信息
只有在您需要处理无法更改且已使用的css代码时,才需要在大多数情况下使用!重要信息如果您可以控制所有css,请使用
!重要信息
不应被需要和使用。你应该使用
!重要信息
仅作为最后手段,但请始终记住这是一个可疑的解决方案。即使你不能控制所有的css代码,那么使用
ID
前缀等专门化也可以解决大多数问题<代码>!重要信息只有在您需要处理无法更改且已使用的css代码时,才需要在大多数情况下使用!重要信息