4.10.2 顶端菜单
上一节我们完成了整体结构,本节将在顶端div完成一个横向的菜单。
<div class="menu-div"> <ul> <li><a href="#">足球</a> </li> <li><a href="#">篮球</a> </li> <li><a href="#">乒乓球</a> </li> <li><a href="#">羽毛球</a> </li> <li><a href="#">排球</a> </li> <li><a href="#">跑步</a> </li> </ul></div>但是列表默认是纵向排列的,所以我们要做下变化,思路如下:
1.所有li项目变成盒子模型,设定相同的高度和宽度以及填充
2.所有li项目左漂浮
3.设定ul为盒子元素,设定它的宽度为所有li元素宽度之和(否则放不下的话可能会转行),ul的高度应该是20vh,和head一致,否则会有空隙
做到这三步,菜单就会横向排列了。
li背景颜色、字的颜色自行决定,菜单项目内的文字也可以自行替换
鼠标悬停效果
鼠标移动到菜单项,菜单变色是通过伪类hover做到的。例如:
<style>.menu{ width:150px; height:80px; background:blue; color:#FFF;}.menu:hover{ background:orange; color:#000;}</style><div class="menu"> 鼠标移上来试试</div>li元素的class值添加为menu,这样li就有上面的悬停效果了。但这样写的话所有li都要增加一个class项,有点过于繁琐,可以用下面的组合选择器的写法
<style>.menu-div li,.menu-div a{ width:150px; height:80px; background:blue; color:#FFF; float:left; line-height:65px; text-align:center; text-decoration:none;}li{ list-style:none;}.menu-div a:hover{ background:orange; color:#000;}</style><div class="menu-div"> <ul> <li>足球</li> <li>篮球</li> <li>乒乓球</li> <li>羽毛球</li> <li>排球</li> <li>跑步</li> </ul></div>这样写的话,html不用再修改了。
.menu-div li
的意思是class值是menu-div的元素(就是最外围的div)内部所有的li
加入链接
菜单项通常都有链接,以便点击到达另一个页面,那么上面的代码就变成这样:
<div class="menu-div"> <ul> <li><a href="#">足球</a> </li> <li><a href="#">篮球</a> </li> <li><a href="#">乒乓球</a> </li> <li><a href="#">羽毛球</a> </li> <li><a href="#">排球</a> </li> <li><a href="#">跑步</a> </li> </ul></div>由于网址未定,所以暂时用#号代替。