-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
谈谈一些有趣的CSS题目(10)-- CSS 斜线的实现 #2
Comments
7、消失的边界线问题,我在《css设计指南》看到过,有一种巧妙的方法。 |
@AntHp |
在项目中有做到过这种两列布局的方法。当时是利用的display:table的方式去做的。 |
@fengcms |
@AntHp |
@chokcoco 多列等高布局也可以用pseudo 来实现, 可以看下我的代码http://jsfiddle.net/SerenaL/woomsmuf/28/ |
@Serena211 |
@gitFuns |
@chokcoco我也买票了 你们组团去啊 我就一个人去 到时想你请教下 |
@SakrA-T |
接收点击事件也可以用:focus啊。 |
归纳的蛮好的 |
纯CSS的导航栏Tab切换方案 有没有办法做到默认显示内容1,而不需要点击才显示 |
@jokum |
@chokcoco |
真的很好 |
话说你这动态图制作工具用的啥 可不可以分享一下 |
最后那个clip-path,直接在div上加个
就可以了吧,相当于直接加了一个平行四边形的path |
人才啊!!! |
10、CSS 斜线的实现
如何使用单个标签,实现下图所示的斜线效果。
这种类似于表格的斜线效果,细细研究一下,还是有一些挺有趣的方法可以实现之。
我们假定我们的
HTML
结构如下:假定高宽各为 100px,在单个标签局限内,看看能有多少种方法实现。
法一、CSS3 旋转缩放
这个应该属于看到需求第一眼就可以想到的方法了。
这里我们使用 伪元素 画出一条直线,然后绕 div 中心旋转 45deg ,再缩放一下就可以得到。
简单的一张流程图:
示意图如下:
CodePen Demo - CSS3旋转缩放斜线
法二、线性渐变实现
这种方法使用了背景的线性渐变实现,渐变背景很重要的一点是,虽然名字唤作渐变,但是也是可以画出实色而非渐变色。
我们选定线性渐变的方向为 45deg,依次将渐变色值设为:
transparent
->deeppink
->deeppink
->transparent
。就像这样简单的一句,即可实现斜线效果:
CodePen Demo - CSS斜线(线性渐变实现)
法三、伪元素+三角形
接下来两种方法就有点为了斜线而斜线的感觉。
利用 CSS border ,是可以轻松实现一个类似这样的三角形的:
CSS 代码如下:
这里,我们使用
div
的两个伪元素
画出两个大小不一的三角形,然后通过叠加在一起的方式,实现一条斜线。类似这样,配合 div 的白色底色,即可得到一条斜线:
CodePen Demo - CSS斜线(伪元素+三角形实现)
法四、clip-path
clip-path
是啥?可以算是 CSS3 的新增属性,或者准确来说是 SVG 的 的 CSS 版本。使用
clip-path
,我们可以定义任意想要的剪裁路径。使用
clip-path
的多边形规则polygen
,也可以轻松制作一个三角形(本题中,我们依然借助伪元素来使用clip-path
):CSS 代码如下:
可以看到 CSS 代码,主要
polygon(0 0, 0 100px, 100px 100px, 0 0)
中,其实是一系列路径坐标点,整个图形就是由这些点围起来的区域。所以使用
clip-path
加上两个伪元素我们可以像解法三
一样制作出斜线。当然,我们也可以换一种方法,殊途同归,解法三也可以这样做,看看下面的效果图:
CodePen Demo - CSS斜线(clip-path)
最后
好了,本文到此结束,介绍了几种利用 CSS 实现斜线的小技巧,希望对你有帮助 :)
更多精彩 CSS 技术文章汇总在我的 Github -- iCSS ,持续更新,欢迎点个 star 订阅收藏。
如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
The text was updated successfully, but these errors were encountered: