谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法
2016-09-21 19:54
591 查看
开本系列,讨论一些有趣的 CSS 题目,抛开实用性而言,一些题目为了拓宽一下解决问题的思路,此外,涉及一些容易忽视的 CSS 细节。
解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧。
不断更新,不断更新,不断更新,重要的事情说三遍。
所有题目汇总在我的 Github 。
假设我们的单标签是一个
定义如下通用
其实,CSS3 渐变远不止线性渐变和径向渐变,细分下来,还有重复线性渐变(
抛开实用性,仅仅是模拟出这个样式的话,这个方法真的让人眼前一亮。
上述就是想到的 8 种方法,不排除有没想到的,希望有其他的方法可以在评论中提出,具体 8 种实现可以戳这里看看:
codepen-单标签左边竖条的实现方式
所有题目汇总在我的 Github ,发到博客希望得到更多的交流。
到此本文结束,如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题中有你感觉到生僻的 CSS 属性,赶紧去补习一下吧。
不断更新,不断更新,不断更新,重要的事情说三遍。
所有题目汇总在我的 Github 。
题目1、下面这个图形,只使用一个标签,可以有多少种实现方式:
假设我们的单标签是一个
div:
<div></div>
定义如下通用
CSS:
div{ position:relative; width:200px; height:60px; background:#ddd; }
法一:border
这个应该是最最最容易想到的了div{ border-left:5px solid deeppink; }
法二:使用伪元素
一个标签,算上before与
after伪元素,其实算是有三个标签,这也是很多单标签作图的基础,本题中,使用伪元素可以轻易完成。
div::after{ content:""; width:5px; height:60px; position:absolute; top:0; left:0; background:deeppink; }
法三:外 box-shadow
盒阴影box-shadow大部分人都只是用了生成阴影,其实阴影可以有多重阴影、单侧阴影、阴影不可以不虚化,这就需要去了解一下
box-shaodw的每一个参数具体作用。使用
box-shaodw解题
div{ box-shadow:-5px 0px 0 0 deeppink; }
法四:内 box-shadow
盒阴影还有一个参数inset,用于设置内阴影,也可以完成:
div{ box-shadow:inset 5px 0px 0 0 deeppink; }
法五:drop-shadow
drop-shadow是 CSS3 新增滤镜
filter中的其中一个滤镜,也可以生成阴影,不过它的数值参数个数只有 3 个,比之 box-shadow 少一个。
div{ filter:drop-shadow(-5px 0 0 deeppink); }
法六:渐变 linearGradient
灵活使用 CSS3 的渐变可以完成大量想不到的图形,CSS3 的渐变简单而言分为线性渐变和径向渐变,本题使用线性渐变,可以轻易解题:div{ background-image:linear-gradient(90deg, deeppink 0px, deeppink 5px, transparent 5px); }
其实,CSS3 渐变远不止线性渐变和径向渐变,细分下来,还有重复线性渐变(
repeating-linear-gradient)和重复径向渐变(
repeating-radial-gradient)以及已经被最新版本 Chrome 支持的圆锥渐变(conical-gradient),感兴趣可以自行去学习一下。
法七:轮廓 outline
这个用的比较少,outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。这个方法算是下下之选。div{ height:50px; outline:5px solid deeppink; } div::after{ position:absolute; content:""; top:-5px; bottom:-5px; right:-5px; left:0; background:#ddd; }
法八、滚动条
这个方法由 小火柴的蓝色理想 提供,通过改变滚动条样式实现:div{ width:205px; background:deeppink; overflow-y:scroll; } div::-webkit-scrollbar{ width: 200px; background-color:#ddd; }
抛开实用性,仅仅是模拟出这个样式的话,这个方法真的让人眼前一亮。
上述就是想到的 8 种方法,不排除有没想到的,希望有其他的方法可以在评论中提出,具体 8 种实现可以戳这里看看:
codepen-单标签左边竖条的实现方式
所有题目汇总在我的 Github ,发到博客希望得到更多的交流。
到此本文结束,如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
相关文章推荐
- 有趣的 CSS 题目(1): 左边竖条的实现方法
- 谈谈一些有趣的CSS题目(二)-- 从条纹边框的实现谈盒子模型
- 谈谈一些有趣的CSS题目(十四)-- 纯 CSS 方式实现 CSS 动画的暂停与播放!
- 谈谈一些有趣的CSS题目(十四)-- 纯 CSS 方式实现 CSS 动画的暂停与播放!
- 谈谈一些有趣的CSS题目(九)-- 巧妙的实现 CSS 斜线
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
- 谈谈一些有趣的CSS题目(五)-- 单行居中,两行居左,超过两行省略
- 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
- 谈谈一些有趣的CSS题目(十六)-- 奇妙的 background-clip: text
- 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode
- 谈谈一些有趣的CSS题目(三)-- 层叠顺序与堆栈上下文知多少
- 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
- 谈谈一些有趣的CSS题目(十五)-- 谈谈 CSS 关键字 initial、inherit 和 unset
- 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
- 谈谈一些有趣的CSS题目(十三)-- 巧妙地制作背景色渐变动画!
- 谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器
- 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
- 谈谈一些有趣的CSS题目(六)-- 全兼容的多列均匀布局问题