第7章中,介绍了5个竖直方向菜单的制作方法,相信读者可以体会到CSS的功能非常强大。在本章中,我们将制作6个水平排列的菜单。它们也同样各具特色,而且应用了一些CSS设计中非常重要的技术,例如“滑动门”技术。它不仅仅应用在这里,奉书后面的很多案例中,都会看到“滑动门”技术的应用。 这一节要实现一个简单的水平菜单。这个菜单可以随着浏览器窗口宽度的变化而改变排列方式。当测览器窗口宽度不足以容纳所有的菜单项的时候,会自动折行,如图8.1图所示。 该实例文件位于网页学习网CSS教程资源的“第8章\01\horizonral-navi.htm”。
它的HTML代码依然是第7章多次使用过的最基本的HTML结构,如下所示。 折叠展开XML/HTML 代码复制内容到剪贴板
接下来设置#menu容器。这里只需要设置文字的样式就可以了。由于宽度会自动水平适应,因此不需要做额外的设置。代码如下:lodidance.com 折叠展开CSS 代码复制内容到剪贴板
下面对菜单项进行设置。代码如下: 折叠展开CSS 代码复制内容到剪贴板
在这段代码中,进行了如下设置。 (1) 把a元素设置为块级元素,并设置为向左浮动,这是使菜单项水平排列,并能够自动适应浏览器窗口的关键。 (2) 设置了文字的颜色和样式。 (3) 设置了内外边距。 (4) 设置了上下边框的样式,图中看到的灰色横线就是这里设置的效果。 最后,设置菜单项的鼠标经过效果,将文字的颜色从黑色变为红色,同时将上下两条粗边框变为黑色,以示和其他菜单项的区别,代码如下。 折叠展开CSS 代码复制内容到剪贴板
此时在浏览器中的效果已经正确地显示了鼠标经过效果。 分析:仔细观察图1中的间隔部分,可以看出,菜单项的水平间隔与竖直间隔相同,这个间距是由相邻的菜单项的margin构成的,根据代码可以知道,莱单项的margin是4像素。在前面的例子中曾经描述过,水平的相邻margin会相加在一起形成间隔,因此这里的水平间隔应该是8个像素;而竖直方向相邻的margin会取二者中较大者为间隔距离,这个现象称为“塌陷’。但是从这里可以看到,当盒子设为“浮动”后,即使在竖直方向上的margin相邻。也不会发生“塌陷”,否则这里的竖直间距应该是水平间距的一半,而不是现在看到的效果。这个结论请读者务必记清。 最后,请读者慢慢地把窗口由宽变窄,在某一个位置将会出现图1中所示的效果,也就是在菜单项内部发生了折行,这并不是期望的效果。解决办法是在“#menu a, #menu a:visited”的样式中增加如下CSS规则: 折叠展开CSS 代码复制内容到剪贴板
这条规则的含义是确保在单词之间的空白处不换行。这时效果如图1所示,图中这两个窗口宽度相同,没有增加这条规则时在菜单项内部折行的效果,图1增加该规则以后的效果。 |
编辑:网页学习网 |
本文地址:http://www.lodidance.com/css/jc/722.html |
8.1 自适应的水平菜单
时间: 2024-10-12 07:34:46
8.1 自适应的水平菜单的相关文章
8.2 自适应的斜角水平菜单
本案例中,制作一个带有斜角的水平菜单.依然和上例一样,它也是可以适应窗口宽度的,效果如图1所示. 该实例文件位于网页学习网CSS教程资源中的“第8章\01\cut-naiv.htm”. 图1 自适应的斜角水平菜单效果 一.基本思路 本案例的关键在于,如何制作出菜单项左上角这个斜角.如果有了上一章中制作“带箭头的菜单”的经验,掌握了使用“钩子“的方法,本案例的实现就很容易了.lodidance.com 对于每一个菜单项的a元素,放置一个span元素,设为corner类别,并作为CSS“钩子”,用于
利用jQuery实现垂直菜单和水平菜单效果
1 利用jQuery实现垂直菜单 1.1 创建VerticalMenu.html文件,内容如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <link href="vertical.css" rel="stylesheet"> <script src="jquery-1
jQuery垂直菜单和水平菜单实现
1 创建VerticalAndhorizontalMenu.html文件 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <link href="VerticalAndhorizontalMenu.css" rel="stylesheet"> <script s
基于jQuery自适应窗口大小导航菜单
基于jQuery自适应窗口大小导航菜单.这是一款响应式导航菜单特效,支持手机导航菜单代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <h1>jQuery / Zepto响应式菜单 PgwMenu 演示</h1> <p class="dowebok-explain">请缩小/放大浏览器窗口宽度查看效果</p> <h2>深色样式(默认)</h2> <ul class="pgwM
高度自适应的水平垂直居中布局
高度自适应实现水平垂直居中 方法一 CSS3中有transform属性,此属性下有一个translate移动函数,此函数接受两个参数.如果两个参数都为百分比值,此时会基于自身宽度和高定进行移动.此函数移动的机制同position:relative相似. <div class="container">Hello World!</div> .container { position: absolute; top: 50%; left: 50%; transform:
css+html实现自适应宽度的菜单学习
本文是利用css和html实现自适应于文本长度菜单. 实现后的效果图,如下: 实现代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>menu4.html</title> <meta http-equiv="keywords" content="keyword1,
微信 小程序布局 水平菜单
<!-- 菜单列表部分 --> <view class="wear-menu"> <view class='menu-box' wx:key="menu" wx:for="{{menuList}}" wx:for-index="index"> <view class="menu-img" bindtap="selectMenu" data-ind
web水平菜单导航
效果: HTML代码: <!doctype html><html><head><meta charset="utf-8"><title>菜单导航垂直菜单</title><link rel="stylesheet" type="text/css" href="style.css"></head> <body><ul&
jQuery 菜单 水平菜单的实现
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>jquery</title> <script type="text/javascript" src="js/jquery-3.0.0.min.js"></script> <script type="tex