bootstrap中图标样式caret实现各种三角形

网页中经常有一种三角形的图标,鼠标点一下会弹出一个下拉菜单之类的

之前以为是个png图标背景,后来在bootstrap中看到有一个图标样式叫做caret的用来实现这种效果。没想到用CSS也能实现这个效果。

看了下源码是这样的:

.caret {
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-top: 4px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
}

研究一番之后,发现原理是这样的:

首先,需要把元素的宽度、高度设为0。

然后设置边框样式。最关键的也在这里。

这里我们先做一个实验,如果一个元素具有下列样式:

{
width: 0;
height: 0;
border: 4px solid;
}

效果是什么?没错是个正方形:

因为元素宽度、高度都为0,只有4px的边框,于是变成了上面的效果。

再来,我们把样式改成下面这样:

{
width: 0;
height: 0;
border-top: 40px solid #000;
border-right: 40px solid #ff0000;
border-left: 40px solid #ff0000;
border-bottom: 40px solid #000;
}

这会是什么效果呢?可能你不会想到:

这是为什么呢?我们打个比方,有四块红色和黑色的木板代表元素的四个边框,把他们两横两竖重叠起来,这时候他们在二维平面的投影便成了上面的效果。

说到这里,大家该明白了上面的三角形图标是怎么来的了吧:元素没有下边框,而左右边框又是透明的,相当于只有上图中的上面的黑色三角形部分。

所以,如果我们要做倒立三角形、向右的、或者向左的三角形,只需要为三角形底部设置边框,两腰边框透明即可。

例如:

{
width: 0;
height: 0;
border-top: 40px solid transparent;
border-left: 40px solid #ff0000;
border-bottom: 40px solid transparent;
}

另外,如果我们把样式改成这样:

{
width: 0;
height: 0;
border-top: 40px solid #000;
border-right: 30px solid #ff0000;
border-left: 50px solid #ff0000;
border-bottom: 25px solid #000;
}

将得到如下效果:

时间: 2024-10-05 20:40:30

bootstrap中图标样式caret实现各种三角形的相关文章

关于bootstrap中css样式与自己设置的css样式相撞问题

1.在对网页进行布局前就先将bootstrap包中的东西导入到自己的页面中去.自己定义的css样式导入在bootstrap之后,可以起到当类名与bootstrap重复时对bootstrap样式践行覆盖的作用. 2.尽量避免所取类名与bootstrap相撞 3.当页面显示效果与自己所想不符时,利用审查元素找到该元素对应的样式,有可能是因为bootstrap中定义的样式起了作用. 4.如若上一步成立,可在自己的css样式中对其进行覆盖. 原文地址:https://www.cnblogs.com/cc

Bootstrap 中 类别样式名称和 标签等内容(持续更新中。。。)

每次看每次都觉得新鲜,用起来的时候却还是习惯性的忘记其原有的东西,自己再写出来一个自己都觉得是多余的内容.所以此次决定再捋一遍,记录每个class 和标签,具体的再不断的完善更新吧,下次再用直接查笔记,就不用去官网了.哈哈(想得美(─.─|||) 一.页面排版: 1.页面主体 全局 font-size:14px; line-height:1.428(即20px): color:#333; <p> 段落元素为 1/2 行高(即10px); lead .lead { margin-bottom:

Bootstrap中六种表格样式

表格 表格是Bootstrap的一个基础组件之一,Bootstrap为表格提供了1种基础样式和4种附加样式以及1个支持响应式的表格.在使用Bootstrap的表格过程中,只需要添加对应的类名就可以得到不同的表格风格,在接下来的内容中,我们会详细介绍Bootstrap的表格使用. 同样的,如果你对CSS预处理器熟悉,你可以使用Bootstrap提供的预处理版本: ?  LESS版本,对应的文件是 tables.less ?  Sass版本,对应的文件是 _tables.scss 如果你不懂LESS

bootstrap 中的table样式

在bootstrap中,有丰富的表格样式,这里简单的记录下 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" con

Bootstrap中样式Jumbotron,row, table的实例应用

之前只是大概预览了下Bootstrap中涉及到的相关元素,插件等的使用.接下来将通过实例演练加强对Bootstrap的了解.实例来自http://www.runoob.com/有兴趣的可以上去学习跟w3cschool上的差不多. 为了加深理解,决定先在本地用google浏览器测试后,再写到这里.加深印象. 第一:首先是基本的网页标签的定义.采用的是html5的写法如下: <!DOCTYPE html> <html> <head> <title>Bootstr

bootstrap全局css样式

以下从官网抄来的,感觉还是很实用的,运用得好,灵活运用,非常方便快捷,能大大提高开发效率,也为调整不同尺寸的屏幕节省了时间. hidden-xs @media (max-width: 767px){ .hidden-xs { display: none!important; } } @media (max-width: 991px) and (min-width: 768px){ .hidden-sm { display: none!important; } } @media (min-widt

bootstrap 全局 CSS 样式

http://v3.bootcss.com/css/#less-mixins-utility 深入了解 Bootstrap 底层结构的关键部分,包括我们让 web 开发变得更好.更快.更强壮的最佳实践. HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS 属性需要将页面设置为 HTML5 文档类型.在你项目中的每个页面都要参照下面的格式进行设置. 复制 <!DOCTYPE html> <html lang="zh-CN"> ...

重修课程day54(bootstrap之css样式)

一 bootstrap的介绍 Bootstrap是将html,css和js的代码打包好了,只管我们拿来调用.是基于jquery开发的. 使用BootCDN提供的免费CDN加速服务,同时支持http和https协议.CDN是一种前端的优化方式. jquery的代码放在body标签里面的最下面. 二 全局css样式 全局css样式是为了确保分辨率的样式,需要在head标签中加上viewport元数据标签 <meta name="viewport" content="widt

Bootstrap 字体图标,下拉列表组件的使用

Bootstrap 字体图标,下拉列表组件的使用 Glyphicons 字体图标 通过代码可以看到图标类的使用方法,图标类不能和其它组件直接联合使用,图标类只能应用在不包含任何文本内容或子元素的元素上.所以一般在Button的text前面搞一个span标签,用来渲染图标. aria-label:有的图标可以没有文本,此时可以在代码中通过aria-label这个属性来表明图标的含义,比如这里的"左对齐". aria-hidden:设置其为true,表示图标只是为了装饰之用,避免读取设备的