首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>设计在线>CSS教程>资讯:CSS quiz 带边 border 的三角形

CSS quiz 带边 border 的三角形

www.jz123.cn  2012-11-02   来源:   站长家园    责任编辑(袁袁)    我要投递新闻

点评:在 twitter 上发了一条推,给一道 CSS 题给大家做。有几位同学给了回答,@zhiyelee 同学还给出了他的具体实现方案。

一、第一种方法
如 @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文档流与块级元素(block)内联元素(inline)那点事 下一篇:初学者用div+css结构写网页的几个误区

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图