css制作导航栏的上下三角
1)先完成一个导航条
<style type="text/css">
.nav-ul{
list-style: none;
}
.nav-ul li{
width: 100px;
height: 40px;
border:1px solid #000;
float: left;
margin-right: 10px;
text-align: center;
line-height: 40px;
}
</style> <div class="nav">
<ul class="nav-ul">
<li>nav1</li>
<li>nav2</li>
<li>nav3</li>
</ul>
</div>
效果如下:
2)在每个导航的最右侧做一个 下三角,考虑到代码的简洁性,每个导航条的最右侧加一个伪元素,这个伪元素需要绝对定位,所以li元素需要加上相对定位。
3)那么三角具体怎么做呢?用css,这里用到了border这个属性,当把一个块元素的高和宽都设置为0后,元素是不可见的,而当加上border边框后,元素会有区域了。比如
.template{
width: 0;
height: 0;
border: 50px solid ;
border-color: #000 #FF0000 #FFFF00 #00FFFF;
} <div class="template"></div>
4)要是我们把除了上部,其余三块border的颜色都设置为透明的了,是否就会只显示上部了?
5)继续3)中伪类的编写,
<style type="text/css">
.nav-ul{
list-style: none;
}
.nav-ul li{
position: relative;
width: 100px;
height: 40px;
border:1px solid #000;
float: left;
margin-right: 10px;
text-align: center;
line-height: 40px;
}
.nav-ul li:after{
width: 0px;
height: 0px;
content: "";
display: block;
position: absolute;
right: 10px;
top: 40%;
border: 10px solid ;
border-color: green transparent transparent transparent ;
}
</style>
6)点击导航条 三角的形状,拉出下拉菜单,然后三角形变为上三角,这里需要点击事件,在点击的导航条上加一个class,class的伪元素是下三角,下三角根据上面的方法,只要将除了下部,其他三部分的颜色设置为透明
的即可。
.nav-ul li.active:after{
width: 0px;
height: 0px;
content: "";
display: block;
position: absolute;
right: 10px;
top: 16%
border: 10px solid ;
border-color: transparent transparent green transparent ;
}
<div class="nav">
<ul class="nav-ul">
<li class="active">nav1</li>
<li>nav2</li>
<li>nav3</li>
</ul>
</div>
css制作导航栏的上下三角的更多相关文章
- 第8天:CSS制作导航栏
今天主要学习了网页导航栏的制作.注意:引入外部CSS样式时,如果使用background:url(../images/1.png),一定记得用..跳出当前文件夹,回到上级目录. 一.导航栏实现步骤: ...
- CSS制作导航栏
最终效果: 代码: <!DOCTYPE html> <html> <head> <title>#练习册二</title> <style ...
- 巧妙使用checkbox制作纯css动态导航栏
前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked ...
- 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- html css二级导航栏
二级导航栏制作: 1.将一级导航栏去除列表样式(list-style:none),并给予浮动,使其横向排列(float:left) 2.给每个li中添加一个<a></a>标签, ...
- css3制作导航栏
<!doctype html><html lang="en"><head> <meta charset="UTF-8&qu ...
- C3制作导航栏分割线及立体风格
//首先写一个导航栏样式 .nav{ width:560px; height: 50px; font:bold 0/50px Arial; text-align:center; ...
- Css之导航栏学习
Css: ul { list-style-type:none; margin:; padding:; overflow:hidden; background-color:blue; /*固定在顶部*/ ...
- CSS 笔记——导航栏、下拉菜单、提示工具
8. 导航栏.下拉菜单.提示工具 (1)导航栏 垂直导航栏 <!DOCTYPE html> <html lang="en"> <head> &l ...
随机推荐
- 【HDOJ】3047 Zjnu Stadium
带权并查集. /* 3047 */ #include <iostream> #include <string> #include <map> #include &l ...
- python指定pypi的源地址 镜像地址
python pip源介绍: python装包一般都用easy_install 或者pip. 他们俩的原理跟apt-get差不多,都是去某个地址去下载你所指定的包. pip和easy_install默 ...
- SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
原文地址 MS SQL大值数据类型varchar(max).nvarchar(max).varbinary(max) 在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max). ...
- C语言练习题_邮票组合
背景: 我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资. 现在,邮局有4种不同面值的邮票.在每个信封上最 ...
- Java学习感受
一个暑假,两本书,让我了解到了Java的神奇美妙,这个工具的年龄跟我一样大,然而日久弥新,随着电脑技术科学家,工程师的开发,Java的功能越来越完善.学习的时间不长,但我比较着学习,把Java跟C.C ...
- PC-全国的 DNS服务商
我们请选第2个.然后根据自己的省市来填写..我复制了下版主给的网站 北京:202.96.199.133 202.96.0.133 202.106.0.20 202.106.148.1 202.97.1 ...
- HTML5 UTF-8 中文乱码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- nginx日志格式含义
- 将内容重定向到剪切板(clip.exe)
Add-Type -Assembly PresentationCore[Windows.Clipboard]::SetText("abc中文def")先用 $output | Ou ...
- Bulk Insert命令具体
Bulk Insert命令具体 BULK INSERT以用户指定的格式复制一个数据文件至数据库表或视图中. 语法: BULK INSERT [ [ 'database_name'.][ 'owner' ...