使用Css和Div ”画“个三角形_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 12:26:55
原创
1483人浏览过

看到这个导航的时候就在想这种三角是否可以通过css和html实现,于是就在网上找了找资料。整理如下:
1.思路很简单。看下面的图片(每条边是不是像三角形的底边)

html:

<div class="triangle"></div>
登录后复制

Css:

立即学习前端免费学习笔记(深入)”;

            .triangle{               border-style:solid;            border-width: 10px;            border-top-color:#009246;            border-left-color: #CE2B37;            border-bottom-color:#5E5E5E;            border-right-color: #000; }
登录后复制

2. 当div元素的宽度和高度是0的时候是什么样呢(其他属性不变,把width和height都设置为0)?

是不是每条边都是一个三角形了?

如果想让他大点,就把border-width属性值设置的大点。

3. 假如我们想要一个向上的三角形,那我们不要显示其他三个边,保留底边(border-bottom)就可以了。所以把其他三条边的(border-color)设置成transparent好了,再看效果。

三角形就出来了。

 

如果想要调整三角形的位置,可以通过设置div.triangle{position:relative; top:0;right:10px;}的属性来设置了。

AI角色脑洞生成器
AI角色脑洞生成器

一键打造完整角色设定,轻松创造专属小说漫画游戏角色背景故事

AI角色脑洞生成器 176
查看详情 AI角色脑洞生成器

 

最后是这个结果:

代码如下:

<div class="triangle"></div>
登录后复制

 

/*Css*/       .triangle{            width:0px;            height:0px;            border-style:solid;            border-width: 10px;            border-color:transparent;            border-bottom-color:#5E5E5E;            position:relative;            top:0;            left:20px;        }        .drop-down{            width:150px;            padding:10px;            border-radius:5px;            background:#5E5E5E;            color:white;        }
登录后复制

 

延伸:如果使用伪元素:before 和:after呢,这样就不必搞一个空白的div元素了(原理自然和上面使用空白div是一样的)。

如果箭头在上面和左侧,就用:before;右侧和下面,就用:after 吧。

<!--html--><div class="no-empty-div">我们不需要空白的div来实现箭头了</div>
登录后复制

/*Css*/        .no-empty-div{            width:150px;            padding:10px;            border-radius:5px;            background:#5E5E5E;            position:relative;              }        .no-empty-div:before{            content:"";            display: block;            border-color: transparent;            border-bottom-color: #5E5E5E;            border-width: 10px;            border-style:solid;            width:0;            height:0;            position:absolute;            bottom:100%;            right:50%;        }
登录后复制

 下面是一个向左箭头的(你可以和向上的代码对照看一下位置的改变):

<!--html--><div class="no-empty-div">我们不需要空白的div来实现箭头了</div>
登录后复制

/*Css*/  .no-empty-div{            width:150px;            padding:10px;            border-radius:5px;            background:#5E5E5E;            position:relative;        }        .no-empty-div:before{            content:"";            display: block;            border-color: transparent;            border-right-color: #5E5E5E;            border-width: 10px;            border-style:solid;            width:0;            height:0;            position:absolute;            top:20%;            right:100%;        }
登录后复制

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号