css3案例分析,王安琪:CSS3网站案例分析——以“Fine Goods”为例

本文介绍了一个购物网站上利用CSS3实现的抽屉效果。通过:hover选择器、box-shadow属性及transition属性,实现了鼠标悬停时的动态抽屉开关效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、“抽屉”效果展示

Fine Goods是一个购物网站,它的整体网页设计运用了多处CSS3技巧。

网址:http://www.finegoodsmarket.com/

a4c26d1e5885305701be709a3d33442f.png

我想给大家展示的是它运用的一个“打开抽屉”的样式技巧,位于页面的左侧。

a4c26d1e5885305701be709a3d33442f.png

当鼠标远离“抽屉”时,它是一个静止的状态;而当鼠标移至某一个“抽屉”的上方,“抽屉”就会打开;一旦鼠标离开,该“抽屉”就会恢复原状。如下图所示:

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

二、html代码和css代码

1. 抽屉部分的html代码如下:

a4c26d1e5885305701be709a3d33442f.png

2. 抽屉部分的css代码如下:

.drawers{padding-top:20px;-webkit-transform:translatez(0);background:0;zoom:1}

.drawers:after{display:block;visibility:hidden;height:0;clear:both;content:"."}

.drawers ul,

.drawers li{

list-style:none;text-align:center;margin:0;padding:0

}

.drawers li{

width:106px;height:35px;background:#210700;

position:relative;margin-bottom:10px;float:left;z-index:1;

-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;

border-radius:2px

}

.drawers li a{

background:url(img/drawer.png) center -13px

no-repeat;display:block;

position:absolute;left:2px;top:2px;width:102px;height:32px;margin-left:0;

-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s

ease-in-out;

transition:all .3s ease-in-out;

-webkit-box-shadow:0 2px 2px rgba(19,4,0,0.6),

transparent 0 0 0,transparent 0 0 0,transparent 0 0 0,transparent 0

0 0;

-moz-box-shadow:0 2px 2px rgba(19,4,0,0.6),transparent 0 0

0,transparent 0 0 0,transparent 0 0 0,transparent 0 0 0;

box-shadow:0 2px 2px rgba(19,4,0,0.6),transparent 0 0 0,transparent

0 0 0,transparent 0 0 0,transparent 0 0 0

}

.drawers li:hover,

.drawers

li.current{z-index:2;background:#0f0300}

.drawers li:hover a,

.drawers li.current a{

width:112px;height:45px;margin-left:-6px;background-position:center

0;

-webkit-box-shadow:0 15px 10px rgba(14,2,0,0.5),0 20px 30px

#0e0200,transparent 0 0 0,transparent 0 0 0,transparent 0 0

0;

-moz-box-shadow:0 15px 10px rgba(14,2,0,0.5),0 20px 30px

#0e0200,transparent 0 0 0,transparent 0 0 0,transparent 0 0

0;

box-shadow:0 15px 10px rgba(14,2,0,0.5),0 20px 30px

#0e0200,transparent 0 0 0,transparent 0 0 0,transparent 0 0

0

}

.drawers.with_labels

li{height:54px;-webkit-transform:translatez(0)}

.multiplebgs .drawers.with_labels li:nth-child(2n+1)

a{

background-position:center -77px,center -10px

}

.drawers.with_labels li a{

background:url(img/drawer_small_wlabel.png) center -10px

no-repeat;height:50px

}

.multiplebgs .drawers.with_labels li a{

background-image:url(img/drawer_wear.png),url(img/drawer_small_wlabel.png);

background-position:center -10px,center -10px

}

.drawers.with_labels li a span{

display:block;text-align:center;color:#000;font-size:14px;

margin-top:16px;font-weight:500;-webkit-transition:margin-top .3s

ease-in-out;

-moz-transition:margin-top .3s ease-in-out;transition:margin-top

.3s ease-in-out;

text-shadow:0 1px 0

rgba(2217,177,71,0.3);-webkit-transform:translatez(0)

}

.drawers.with_labels li:hover a,

.drawers.with_labels li

.current a{

height:63px;background-position:center 2px

}

.multiplebgs .drawers.with_labels li:hover a,

.multiplebgs .drawers.with_labels li

.current a{

background-position:center 2px,center 2px

}

.no-boxshadow .drawers.with_labels li:hover a,

.no-boxshadow .drawers.with_labels li

.current a{

border-bottom:1px solid #240d00

}

.drawers.with_labels li:hover a span,

.drawers.with_labels li

.current a span{background:0;margin-top:29px}

.multiplebgs .drawers.with_labels li:hover:nth-child(2n+1)

a,

.multiplebgs .drawers.with_labels li

.current:nth-child(2n+1) a{

background-position:center -65px,center 2px

}

三、使用的指令及其效果

1.

:hover

选择器用于选择鼠标指针浮动在上面的元素。

:after 选择器在被选元素的内容后面插入内容。

2.

box-shadow

属性向框添加一个或多个阴影。

注释:box-shadow

向框添加一个或多个阴影。该属性是由逗号分隔的阴影列表,每个阴影由

2-4 个长度值、可选的颜色值以及可选的 inset 关键词来规定。省略长度的值是

0。

描述

h-shadow

必需。水平阴影的位置。允许负值。

v-shadow

必需。垂直阴影的位置。允许负值。

blur

可选。模糊距离。

spread

可选。阴影的尺寸。

color

可选。阴影的颜色。请参阅 CSS

颜色值。

inset

可选。将外部阴影 (outset)

改为内部阴影。

3.

transition 属性是一个简写属性,用于设置四个过渡属性:

·

transition-property

·

transition-duration

·

transition-timing-function

·

transition-delay

4.

:nth-child(n) 选择器匹配属于其父元素的第 N

个子元素,不论元素的类型。

n 可以是数字、关键词或公式。

总的来说,这个“抽屉”拉动的效果是将“鼠标不在图标上、鼠标悬浮在图标上、鼠标点击图标后”这几个阶段分开设置,使用阴影、过渡等效果骗过了我们的眼睛,造成一种抽屉打开、关上的错觉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值