为图片设置阴影渐变动画,当鼠标移动到图片上时,慢慢渐变出阴影效果(box-shadow:0 4px 12px 2px #cad6e6),上传对应的代码
时间: 2024-03-11 15:47:43 浏览: 140
好的,你可以使用CSS3的transition属性实现阴影渐变动画效果。以下是示例代码:
HTML:
```html
src="your-image-source.jpg" alt="your-image-alt" class="shadow-hover">
```
CSS:
```css
.shadow-hover {
box-shadow: 0 0 0 rgba(0, 0, 0, 0);
transition: box-shadow 0.3s ease-in-out;
}
.shadow-hover:hover {
box-shadow: 0 4px 12px 2px #cad6e6;
}
```
在这个例子中,我们首先为图片设置一个默认的阴影效果,这个阴影效果的颜色为透明,然后使用CSS3的transition属性来让阴影渐变出现。当我们把鼠标移动到图片上时,使用:hover伪类选择器来为图片添加实际的阴影效果,这个阴影效果的颜色为#cad6e6。
希望能够帮到你!
相关问题
.card{ /* 相对定位 */ position: relative; width: 300px; height: 450px; margin: 20px; background-color: #758a99; border-radius: 20px; /* 溢出隐藏 */ overflow: hidden; /* 弹性布局 */ display: flex; /* 元素纵向排列 */ flex-direction: column; /* 居中 */ align-items: center; color: #fff; /* 阴影 */ box-shadow: 0 0 30px rgba(0, 0, 0, 0.5); /* 不让其他被挤压 */ flex-shrink: 0; } .card .photo img{ width: 100%; height: 100%; /* 保持原有尺寸比例,裁切长边 */ object-fit: cover; } /* 默认大图 */ .card .photo{ /* 绝对定位 */ position: absolute; top: 0; width: 100%; height: 100%; border-radius: 0%; overflow: hidden; /* 动画过渡 */ transition: 0.5s; } /* 鼠标移入变小图 */ .card:hover .photo{ top: 30px; width: 120px; height: 120px; border-radius: 50%; box-shadow: 0 0 20px rgba(0, 0, 0, 0.8); } /* 这里加个黑色到透明的渐变背景,可以更好的看清楚名字 */ .card .photo::before{ content: ""; position: absolute; width: 100%; height: 100%; background: linear-gradient(to bottom,transparent 50%,#222); } .card h1{ position: absolute; top: 370px; transition: 0.5s; } .card:hover h1{ top: 170px; } .card h2{ margin-top: 220px; width: 80%; border-bottom: 1px solid rgba(255, 255, 255, 0.3); font-size: 20px; text-align: center; margin-bottom: 20px; padding-bottom: 20px; } .card p { width: 90%; text-indent: 32px; font-size: 16px; margin-bottom: 15px; line-height: 30px; } .card a{ font-size: 14px; color: rgba(255, 255, 255, 0.8); text-decoration: none; border: 1px solid rgba(255, 255, 255, 0.5); padding: 8px 32px; border-radius: 8px; } .card a:hover{ color: #fff; background-color: rgba(255, 255, 255, 0.2); }这部分css代码帮我用jQuery代替
以下是使用jQuery代替的代码:
```
$(document).ready(function() {
$('.card').hover(
function() {
$(this).find('.photo').css({
top: '30px',
width: '120px',
height: '120px',
borderRadius: '50%',
boxShadow: '0 0 20px rgba(0, 0, 0, 0.8)'
});
$(this).find('h1').css({ top: '170px' });
},
function() {
$(this).find('.photo').css({
top: '0',
width: '100%',
height: '100%',
borderRadius: '0%',
boxShadow: '0 0 30px rgba(0, 0, 0, 0.5)'
});
$(this).find('h1').css({ top: '370px' });
}
);
});
```
这段代码使用了jQuery的`.hover()`方法来实现鼠标移入移出事件,使用了`.find()`方法来查找元素,并使用`.css()`方法来修改元素的CSS样式。
*{ margin: 0; padding: 0; } html,body{ width: 100%; height: 100%; } /*设置背景渐变效果*/ body{ background-image:radial-gradient(at 0px 50px,#c0c0c0 5%,#808080 20%,#000000 60%) ; /*background-image:radial-gradient(at 10px 50px,#6b4a6d 5%,#300639 20%,#01001f 60%) ;*/ background-color: #525252; } /*设置中间登录表单区域效果*/ #login{ width: 500px; height: 300px; position: absolute; left: 50%; top: 50%; margin-left: -250px; margin-top: -150px; box-shadow: 10px 10px 40px grey; border-radius: 8px; background: #FFFFFF url(../images/sign1.png) right bottom/100px 60px no-repeat; } .logo{ width: 500px; height: 40px; background: #e60020; font: oblique 20px/40px arial,"微软雅黑"; color: #FFFFFF; padding-left: 20px; box-sizing: border-box; } /*用户登录*/ #login form{ padding: 15px 0 0 80px; } #login form div{ height: 50px; line-height: 50px; font-size: 16px; } #login form input{ text-indent: 4px; width: 200px; height: 22px; } #login span{ font-size: 12px; margin-left: 70px; display: block; color: red; } /*登录按钮*/ #loginBtn{ display: block; width: 200px; height: 30px; line-height: 30px; text-align: center; font-size: 14px; background-image: linear-gradient(red,#6c000f); color: #FFFFFF; border: none; margin: 15px 0 20px 70px; } #login p{ text-align: center; font-size: 12px; color: #696969; } #login p a{ text-decoration: none; } #login p a:hover{ text-decoration: underline; }。在每行代码后面加上解释
这段代码是用于创建一个登录表单的样式,其中包括背景渐变效果、中间登录表单区域效果、用户登录、登录按钮等。以下是每行代码的解释:
```
*{
margin: 0;
padding: 0;
}
```
将页面中所有元素的margin和padding设置为0。
```
html,body{
width: 100%;
height: 100%;
}
```
将html和body元素的宽度和高度都设置为100%。
```
body{
background-image:radial-gradient(at 0px 50px,#c0c0c0 5%,#808080 20%,#000000 60%) ;
background-color: #525252;
}
```
设置页面的背景,包括一个径向渐变背景和一个底部为灰色的纯色背景。
```
#login{
width: 500px;
height: 300px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -250px;
margin-top: -150px;
box-shadow: 10px 10px 40px grey;
border-radius: 8px;
background: #FFFFFF url(../images/sign1.png) right bottom/100px 60px no-repeat;
}
```
设置登录表单的样式,包括宽度、高度、绝对定位、水平和垂直居中、阴影效果、圆角效果、背景图片等。
```
.logo{
width: 500px;
height: 40px;
background: #e60020;
font: oblique 20px/40px arial,"微软雅黑";
color: #FFFFFF;
padding-left: 20px;
box-sizing: border-box;
}
```
设置表单顶部的logo样式,包括宽度、高度、背景颜色、字体样式、字体颜色、左侧padding、盒子模型的box-sizing。
```
#login form{
padding: 15px 0 0 80px;
}
```
设置表单中的form元素的内部padding。
```
#login form div{
height: 50px;
line-height: 50px;
font-size: 16px;
}
```
设置表单中每个输入框的外部div元素的样式,包括高度、行高和字体大小。
```
#login form input{
text-indent: 4px;
width: 200px;
height: 22px;
}
```
设置表单中每个输入框的样式,包括文本缩进、宽度和高度。
```
#login span{
font-size: 12px;
margin-left: 70px;
display: block;
color: red;
}
```
设置表单中每个输入框的提示信息的样式,包括字体大小、左侧margin、块级元素显示和字体颜色。
```
#loginBtn{
display: block;
width: 200px;
height: 30px;
line-height: 30px;
text-align: center;
font-size: 14px;
background-image: linear-gradient(red,#6c000f);
color: #FFFFFF;
border: none;
margin: 15px 0 20px 70px;
}
```
设置登录按钮的样式,包括显示方式、宽度、高度、行高、文本居中、字体大小、背景渐变、字体颜色、无边框和外部margin。
```
#login p{
text-align: center;
font-size: 12px;
color: #696969;
}
```
设置表单底部的文字信息样式,包括居中显示、字体大小和字体颜色。
```
#login p a{
text-decoration: none;
}
```
设置表单底部文字信息中的链接的样式,包括去除下划线。
```
#login p a:hover{
text-decoration: underline;
}
```
设置表单底部文字信息中的链接在鼠标悬停时的样式,包括添加下划线。
阅读全文