css实现带箭头选项卡
2015-09-01 17:57
274 查看
这阵子在做一个web端项目中遇到一个问题,需要实现带箭头的选项卡点击可切换。起初没想太多,直接切一个向上的小箭头图片,外层div设置相同颜色的边框,再用相对定位和绝对定位。这种方法是可行的,但是因为手机和电脑的屏幕显示图片的画质细节不同,导致1px的边框比1px的切图实际粗很多,对于有强迫症的人来说心里总是不舒服的……后来我就想,屁大点的箭头直接用css写一个算了。可是以前没写过,那就研究一下吧。网上有很多这方面的资料,但是还是那句话,那都是人家的不是自己的,要想据为己有自己也写篇博客吧。
这种纯css没有兼容性的问题,无需切图,甚至没有用到CSS3,对各种浏览器支持良好。
基本原理:控制盒子模型的宽度高度和边框的显示隐藏,以及改变某一条边的颜色。
从梯形入手:
当元素宽、高和边框的宽相等时,改变某一边的颜色可以看到一个梯形;
气泡对话框
要实现我需求再结合js就行啦。
在这里,我把学习过程中参考的文章标注一下供大家学习:
这种纯css没有兼容性的问题,无需切图,甚至没有用到CSS3,对各种浏览器支持良好。
基本原理:控制盒子模型的宽度高度和边框的显示隐藏,以及改变某一条边的颜色。
从梯形入手:
当元素宽、高和边框的宽相等时,改变某一边的颜色可以看到一个梯形;
<div class="box"> <span class="bot"></span> <span class="top"></span> css实现气泡对话框 </div> <style type="text/css"> .box { width: 300px; padding: 30px 20px; border: 5px solid #666; position: relative; margin:30px auto; } .box span { width: 0; height: 0; font-size: 0; overflow: hidden; position: absolute; } .box span.bot { border-width: 20px; border-style: dashed dashed solid ; border-color: transparent transparent #666 ; left: 100px; bottom: 85px; } .box span.top { border-width: 20px; border-style: dashed dashed solid ; border-color: transparent transparent #ffffff; left: 100px; bottom: 78px; } </style>
气泡对话框
要实现我需求再结合js就行啦。
在这里,我把学习过程中参考的文章标注一下供大家学习:
用纯CSS实现的箭头
纯css实现带三角箭头带描边带阴影带圆角的兼容各浏览器de气泡层
相关文章推荐
- Css元素居中设置
- Css元素居中设置
- css 中div class
- 浏览器 CSS Hack 收集
- datagrid 给符合条件的数据设置样式
- CSS中的行为(css中使用js文件)——expression
- Qt Style Sheet(二)----类似css
- 在rust里使用c样式的函数指针
- css 问题总结
- 自定义 input type="file" 文件上传样式
- 浅析CSS——元素重叠及position定位的z-index顺序
- (转)浅析CSS——元素重叠及position定位的z-index顺序
- CSS样式优先级
- js+CSS实现模拟华丽的select控件下拉菜单效果
- css颜色样式
- CSS 元素垂直居中的 6种方法
- CSS3中的Transition属性详解
- 认识hasLayout——IE6.7浏览器css bug的一大罪恶根源
- 纯CSS实现多级半透明效果菜单代码
- CSS 动画之十-图片+图片信息展示