书签 分享 收藏 举报 版权申诉 / 19

类型第12章 CSS实例.docx

  • 文档编号:12329842
  • 上传时间:2023-04-18
  • 格式:DOCX
  • 页数:19
  • 大小:246.93KB

content2的内容。

该例在IE浏览器和FF浏览器下的运行结果分别如图12-2,图12-3。

我们看到由于IE浏览器不识别!

important语句,对于id为“content2”的元素显示宽度依然为150px。

因此,凭借此差异可以分别定义适用于两种浏览器的CSS样式。

图12-2IE浏览器显示效果

图12-3FF浏览器显示效果

12.1.3子对象选择符和相邻选择符

子对象选择符和相邻选择符同样由于IE浏览器不能识别,也可以用来分别定义两种浏览器下的CSS样式。

例12-3和例12-4分别使用了子对象选择符和相邻选择符来同样实现例12-2的内容。

例12-3子对象选择符的使用

子元素选择符

#content1,#content2{

border:

1pxsolid#F00;

width:

150px;

margin:

2px;

}

body>#content2{

border:

1pxsolid#F00;

width:

130px;

margin:

2px;

}

content1的内容。

content2的内容。

例12-4相邻选择符

相邻选择符

#content1,#content2{

border:

1pxsolid#F00;

width:

150px;

margin:

2px;

}

#content1+#content2{

border:

1pxsolid#F00;

width:

130px;

margin:

2px;

}

content1的内容。

content2的内容。

例12-3和例12-4在IE浏览器和FF浏览器下显示结果均与图12-2和图12-3一致。

因此,凭借此差异可以分别定义适用于两种浏览器的CSS样式。

12.2CSS实例

12.2.1选项卡效果

在浏览网页时,我们经常会看到呈现为选项卡效果的菜单,如图12-4。

图12-4选项卡效果的菜单

实现选项卡的方法有很多,效果也不尽相同,但是很多在IE浏览器下和FF浏览器下显示的效果有细微差别。

接下来我们仅以最简单的方法来实现选项卡效果,并要求在IE和FF浏览器下外观一致,以此来学习某些细节的处理。

本例实现的基本思路是让当前选定的选项卡和内容区域的边框颜色一致并紧紧贴在一起。

实现这一效果只需要让内容区域的“margin-top”属性为“0”就可以了,但是仅仅是这样在FF浏览器下浏览就会有些瑕疵,如图12-5所示。

图12-5margin-top在FF浏览器下的效果

出现这一问题的原因是由于IE浏览器与FF浏览器在盒状(Box)模型这一问题上的解释有差异所导致。

因此我们可以凭借上节学习的内容分别定义IE浏览器和FF浏览器下的效果。

例12-5选项卡效果

选项卡效果

#menu{width:

250px;}/*放置窗口宽度较窄时选项页换行显示*/

#menua{

background:

#FC9;

text-decoration:

none;

}

#menua:

hover,#menu.current{

background:

#F60;

}

#content{

border:

1pxsolid#F60;

margin-top:

-1px!

important;/*该语句FF浏览器能够识别,通过优先级提高覆盖后边的设置*/

margin-top:

0px;

width:

250px;

}

第一章

第二章

第三章

第四章

当前是第一章的内容。

12.2.2缩放菜单

缩放菜单也是一种常见的菜单形式,本例将要实现一个简单的缩放菜单,如图12-6。

图12-6缩放菜单

实现本例的思路是点击主菜单项后,能够使其对应的子菜单收起或展开。

本例的关键点是:

一、子菜单缩放效果的实现;二、点击主菜单项,如何获取其相对应的子菜单。

我们学习CSS属性的时候接触过可以使网页元素隐藏的属性,如“display”和“visibility”,在这里要使用“display”属性来实现菜单的缩放效果,因为“display”属性和“visibility”属性都可以实现元素的隐藏效果,但是“visibility”属性值为“hidden”时,尽管元素不可见,但是元素所在的区域依然保留。

对于本例如果使用“visibility”属性实现,那么点击“音乐”菜单项后呈现的效果将如图12-7所示,这显然不是缩放菜单的效果,因此要使用“display”属性控制菜单项的缩放。

图12-7使用visibility控制菜单项的显示隐藏

对于第二个关键点,解决的办法也有很多,本例中的办法是将一组子菜单项放置在一个

元素内,点击主菜单项时将
元素的引用传递给缩放菜单的方法。

例12-6缩放菜单

可缩放菜单

.mca,.sc1a,.sc2a{

display:

block;

width:

80px;

text-decoration:

none;

padding:

2px0px2px10px;

background:

#F90;

color:

#000;

border-bottom:

1pxsolid#DDD;

}

.sc1a,.sc2a{

background:

#FC6;

text-indent:

20px;/*使子菜单缩进一些,以使层次分明*/

}

.mca:

hover,.sc1a:

hover,.sc2a:

hover{

background:

#EEE;/*鼠标移入菜单项,变换菜单项的背景色*/

}

--

functionToggleMenu(cls){

varchild=document.getElementById(cls);/*获得子菜单div元素*/

if(child.style.display=="none")/*判断该元素display属性值*/

child.style.display='block';

else

child.style.display='none';

}

-->

ToggleMenu('sub1')">音乐

古典

流行

爵士

ToggleMenu('sub2')">电影

喜剧片

战争片

12.2.3下拉菜单

下拉菜单是更为常用的菜单形式,有了前面实现缩放菜单的基础,实现下拉菜单的也就容易了很多。

主要就是将主菜单的点击事件更换为鼠标事件来控制子菜单的显示与隐藏,我们在例12-6的基础上修改成为下拉菜单,运行结果如图12-8。

例12-7下拉菜单

下拉菜单

.menu1{float:

left;}

.mc,.sc1a,.sc2a{

text-align:

center;

display:

block;

width:

80px;

text-decoration:

none;

padding:

2px0px2px10px;

background:

#F90;

color:

#000;

border:

1pxsolid#eee;

}

.sc1a,.sc2a{

background:

#FC6;

}

.sc1a:

hover,.sc2a:

hover{

background:

#EEE;/*鼠标移入菜单项,变换菜单项的背景色*/

}

#sub1,#sub2{display:

none;}

--

functionToggleMenu(cls,val){

document.getElementById(cls).style.display=val;

}

-->

音乐

古典

流行

爵士

电影

喜剧片

战争片

图12-8下拉菜单

12.2.4可放大的图片缩略图

图片缩略图是较为常用的图片展示形式。

本例将要实现的效果是在网页上首先排列展示图片的缩略图,当鼠标放到某个图片的缩略图上,会显示相应图片的放大效果。

我们分析实现该例的关键点,实际上与我们前面介绍的下拉菜单的实现有些类似,将每个图片的实际效果图做为一个隐藏的元素,然后将缩略图绑定鼠标移入移出事件以控制实际效果图是否显示。

但是对于本例,我们可以仅使用伪类来实现,而不必使用JavaScript函数。

我们知道对于元素,伪类“:

hover”能够区别鼠标移入移出两种状态,因此我们可以使用“:

hover”定义两种图片的缩略图的样式。

那么缩略图的样式如何影响到实际效果图的显示与隐藏呢?

那显然可以将实际效果图作为缩略图的子元素。

然后使用包含选择符定义实际效果图的显示与隐藏。

用文字描述就是:

缩略图实际效果图{隐藏}

缩略图:

hover实际效果图{显示}

根据上述实现思路,该例代码如例12-8。

例12-8图像缩略图

可放大的缩略图

--

.thumbnail{

position:

relative;

text-decoration:

none;

z-index:

0;

}

.thumbnail:

hover{

background:

#FAA;

z-index:

1;

}

.thumbnaildiv{

position:

absolute;

background:

#AAA;

padding:

5px;

visibility:

hidden;

}

.thumbnaildivimg{

border-width:

0;

padding:

2px;

}

.thumbnail:

hoverdiv{

visibility:

visible;

top:

0;

left:

40px;

}

-->

图12-9可放大的图像缩略图

当然我们还可以在此效果基础上进一步美化、完善,比如在实际效果图所在元素内添加图片的说明文字等。

本例仅就实现方法介绍到这里。

本章小结

本章先介绍了几个小技巧用于解决部分CSS属性在IE浏览器和FF浏览器下显示不一致的问题,接着介绍了几个简单的运用CSS技术实现特效的例子。

当前,实际上我们在浏览网页的时候经常接触到的更为特别的效果,比如元素能够拖动以改变页面布局、进度条控件效果、即时输入提示等等,更多要借助到JavaScript语言、XMLHttpRequest对象来实现。

前面我们介绍过,我们将这几种技术综合称为Ajax技术。

因此,我们说学习CSS技术是基础,要提升到更高的一个层次就难免要面对多种技术的结合使用,即学习掌握Ajax技术。

举报
举报
版权申诉
版权申诉
word格式文档无特别注明外均可编辑修改;预览文档经过压缩,下载后原文更清晰! 立即下载
配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
第12章 CSS实例 12 CSS 实例
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:第12章 CSS实例.docx
链接地址:https://www.bdocx.com/doc/12329842.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开