您现在的位置是:网站首页> 编程资料编程资料
CSS quiz 带边 border 的三角形详解CSS3 用border写 空心三角箭头 (两种写法)CSS中使用border来创建三角形的基本方法讲解CSS绘制三角形的实现代码(border法)
2021-08-29
2274人已围观
简介 在 twitter 上发了一条推,给一道 CSS 题给大家做。有几位同学给了回答,@zhiyelee 同学还给出了他的具体实现方案
推的原文是:“CSS Quiz: 如何不用图片、兼容所有浏览器实现这样的界面?晚上博客公布答案 twitpic.com/981xba”。大概需要实现下图的效果:
/* 兼容解决方案:菱形 */
.diamond{
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod='auto expand')";
filter: progid:DXImageTransform.Microsoft.Matrix(
M11=0.7071067811865475,
M12=-0.7071067811865477,
M21=0.7071067811865477,
M22=0.7071067811865475,
SizingMethod='auto expand'
);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform:rotate(45deg);
}
:root .diamond{filter:none\9;}
/* Tips 组件 */
.tips{position:absolute;background: #fff8e8;border:1px solid #ffba00;padding:10px;}
.tips-angle{position:absolute;display:block;width:8px;height:8px;font-size:0;background:#fff8ef;border-left:1px solid #ffba00;border-top:1px solid #ffba00;top:-5px;top:-6px\9;left:10px;}

一、第一种方法
如 @zhiyelee 同学的方案所示,原理可以分解为:
利用 border 来实现2个三角形
将三角形叠在一起,实现一个类似的效果。
这是一种不错的方案。我现在小三角形的时候,也喜欢用这种方法。
二、终极方案
CSS3 是经常被提起,但在桌面端又很少被用到的内容。像 Alice UI 中有很多兼容解决方案其他都是利用 CSS3 来作高级浏览器的实现的。今天这个方案应该也算是一种兼容解决方案吧。后续再整到 Alice 中去。实现原理是这样的:
创建一个有 border 的四方形,用 CSS3 transfrom 作 45 度旋转
利用 IE 的 matrix filter 实现 css3 transfrom 的兼容方案
具体的效果可以看:Pure CSS Tips Angle。主要的实现代码可以自己 view source,这里贴出 CSS 代码:
复制代码
代码如下:/* 兼容解决方案:菱形 */
.diamond{
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod='auto expand')";
filter: progid:DXImageTransform.Microsoft.Matrix(
M11=0.7071067811865475,
M12=-0.7071067811865477,
M21=0.7071067811865477,
M22=0.7071067811865475,
SizingMethod='auto expand'
);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform:rotate(45deg);
}
:root .diamond{filter:none\9;}
/* Tips 组件 */
.tips{position:absolute;background: #fff8e8;border:1px solid #ffba00;padding:10px;}
.tips-angle{position:absolute;display:block;width:8px;height:8px;font-size:0;background:#fff8ef;border-left:1px solid #ffba00;border-top:1px solid #ffba00;top:-5px;top:-6px\9;left:10px;}
相关内容
- Css绘制箭头实现代码详解CSS3 用border写 空心三角箭头 (两种写法)CSS怎么去掉select的下拉箭头样式 纯CSS绘制三角形箭头图案技术解析CSS制作箭头图标代码(圆,三角形,椭圆) CSS三角箭头应用实践仿新浪微博箭头的css写法纯CSS绘制三角形箭头效果纯CSS实现箭头、气泡让提示功能具有三角形图标CSS模拟小箭头的实现代码使用css实现任意大小、任意方向和任意角度的箭头示例
- 背景半透明最佳实践背景半透明效果CSS链接样式代码img 半透明 处理img加半透明背景实现思路及代码css 半透明 让IE6支持png图片半透明解决方法PNG8格式图片是不支持半透明等问题深入分析div背景半透明,覆盖整个可视区域的遮罩层效果 css 背景半透明最佳实践div背景半透明 覆盖整个可视区域的遮罩层效果利用js+css简单实现半透明遮罩弹窗DIV半透明代码 兼容主流浏览器CSS 半透明度设置归纳总结[Firefox,IE,Chrome,Safari]
- http错误代码404网页中的设计分析(图文)html5+CSS3的编码规范前端编码规范(4)—— CSS 和 Sass (SCSS) 开发规范Web前端开发规范2017(HTML/JavaScript/CSS)web前端开发规范文档(2014年版本)响应式Web之流式网格系统 在网页标题栏上和收藏夹显示网站logo的实现方法Visual Foxpro 6.0 中文版安装向导(图解)网站日志200 0 64状态码的分析(协议子状态)W3C是什么意思 W3C标准简介有关网站网页设计中的那些事儿分享
- 网站设计分析:模块化--高效重构html5+CSS3的编码规范前端编码规范(4)—— CSS 和 Sass (SCSS) 开发规范Web前端开发规范2017(HTML/JavaScript/CSS)web前端开发规范文档(2014年版本)响应式Web之流式网格系统 在网页标题栏上和收藏夹显示网站logo的实现方法Visual Foxpro 6.0 中文版安装向导(图解)网站日志200 0 64状态码的分析(协议子状态)W3C是什么意思 W3C标准简介有关网站网页设计中的那些事儿分享
- Web页面中5种超酷的Hover效果分享_CSS教程_CSS_网页制作_
- 兼容各种浏览器篡位的css样式写法分享_浏览器兼容教程_CSS_网页制作_
- css 表单上传文件的“浏览”按钮修改_CSS教程_CSS_网页制作_
- DIV设置浮动后无法撑开外部DIV的解决办法_Div+CSS教程_CSS_网页制作_
- 链接伪类(:hover)CSS背景图片有闪动BUG的解决方法_CSS教程_CSS_网页制作_
- 纯css实现的跟随网页浮动的层_CSS布局实例_CSS_网页制作_
