css 积累1
1.position 取值。
通常的回答是 static、relative、absolute 和 fixed 。当然,还有一个极少人了解的 sticky 。其实,除此之外, CSS 属性通常还可以设置下面几个值:
- initial
- inherit
- unset
- revert
题目1、下面这个图形,只使用一个标签,可以有多少种实现方式:

假设我们的单标签是一个 div:
| 1 | <div></div> | 
定义如下通用CSS:
| 1 2 3 4 5 6 | div{    position:relative;    width:200px;    height:60px;    background:#ddd;} | 
法一:border
这个应该是最最最容易想到的了
| 1 2 3 | div{    border-left:5pxsoliddeeppink;} | 
法二:使用伪元素
一个标签,算上 before 与 after 伪元素,其实算是有三个标签,这也是很多单标签作图的基础,本题中,使用伪元素可以轻易完成。
| 1 2 3 4 5 6 7 8 9 | div::after{    content:"";    width:5px;    height:60px;    position:absolute;    top:0;    left:0;    background:deeppink;} | 
法三:外 box-shadow
盒阴影 box-shadow 大部分人都只是用了生成阴影,其实阴影可以有多重阴影、单侧阴影、阴影不可以不虚化,这就需要去了解一下 box-shaodw 的每一个参数具体作用。使用 box-shaodw 解题
| 1 2 3 | div{    box-shadow:-5px0px00deeppink;} | 
法四:内 box-shadow
盒阴影还有一个参数 inset ,用于设置内阴影,也可以完成:
| 1 2 3 | div{    box-shadow:inset5px0px00deeppink;} | 
法五:drop-shadow
drop-shadow 是 CSS3 新增滤镜 filter 中的其中一个滤镜,也可以生成阴影,不过它的数值参数个数只有 3 个,比之 box-shadow 少一个。
| 1 2 3 | div{    filter:drop-shadow(-5px00deeppink);} | 
法六:渐变 linearGradient
灵活使用 CSS3 的渐变可以完成大量想不到的图形,CSS3 的渐变简单而言分为线性渐变和径向渐变,本题使用线性渐变,可以轻易解题:
| 1 2 3 | div{    background-image:linear-gradient(90deg, deeppink 0px, deeppink 5px, transparent5px);} | 
其实,CSS3 渐变远不止线性渐变和径向渐变,细分下来,还有重复线性渐变(
repeating-linear-gradient)和重复径向渐变(repeating-radial-gradient)以及已经被最新版本 Chrome 支持的圆锥渐变(conical-gradient),感兴趣可以自行去学习一下。
法七:轮廓 outline
这个用的比较少,outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。这个方法算是下下之选。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | div{    height:50px;    outline:5pxsoliddeeppink;}div::after{    position:absolute;    content:"";    top:-5px;    bottom:-5px;    right:-5px;    left:0;    background:#ddd;} | 
法八、滚动条
这个方法由 小火柴的蓝色理想 提供,通过改变滚动条样式实现:
| 1 2 3 4 5 6 7 8 9 | div{    width:205px;    background:deeppink;    overflow-y:scroll;}div::-webkit-scrollbar{    width: 200px;    background-color:#ddd;} | 
 
                    
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号 
