`

左边竖条的实现方法

阅读更多

题目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:5px solid deeppink;
}

 

法二:使用伪元素

一个标签,算上 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:-5px 0px 0 0 deeppink;
}

 

法四:内 box-shadow

盒阴影还有一个参数 inset ,用于设置内阴影,也可以完成:

1
2
3
div{
    box-shadow:inset 5px 0px 0 0 deeppink;
}

 

法五:drop-shadow

drop-shadow 是 CSS3 新增滤镜 filter 中的其中一个滤镜,也可以生成阴影,不过它的数值参数个数只有 3 个,比之 box-shadow 少一个。

1
2
3
div{
    filter:drop-shadow(-5px 0 0 deeppink);
}

 

法六:渐变 linearGradient

灵活使用 CSS3 的渐变可以完成大量想不到的图形,CSS3 的渐变简单而言分为线性渐变和径向渐变,本题使用线性渐变,可以轻易解题:

1
2
3
div{
    background-image:linear-gradient(90deg, deeppink 0px, deeppink 5pxtransparent 5px);
}

其实,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:5px solid deeppink;
}
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{
    width200px;
    background-color:#ddd;
}

抛开实用性,仅仅是模拟出这个样式的话,这个方法真的让人眼前一亮。

  

上述就是想到的 8 种方法,不排除有没想到的,希望有其他的方法可以在评论中提出,具体 8 种实现可以戳这里看看:

codepen-单标签左边竖条的实现方式

 

 

 

 

 

 

 

 

 

 

.

分享到:
评论

相关推荐

    css魔法之左边竖条的多种实现方法

    问题描述:在只使用一个标签的情况下实现左边竖线 通用标签与样式如下: html: 实现左边竖线 css: .div1 { width: 200px; height: 50px; line-height:50px; text-align: center; background: #ccc; ...

    cnblogsArticle:自己博客园一些写得比较好的文章移植,欢迎订阅

    原生JS getComputedStyle等方法解析引人瞩目的 CSS 变量(CSS Variable)使用 position:sticky 实现粘性布局谈谈一些有趣CSS题目(一)-- 左边竖条的实现方法谈谈一些有趣CSS题目(二)-- 从条纹边框的实现谈盒子...

    vant侧边导航栏SideBar

    3. **菜单项动态加载**:可以通过Vue的动态绑定数据来实现菜单项的动态生成和更新。 4. **选中状态反馈**:SideBar会自动根据路由或用户操作显示当前选中的菜单项,提供清晰的用户反馈。 5. **自定义事件**:提供...

    FPGA实现实时视频加权中值滤波

    这种方法特别适用于单片机系统,能够高效地运行于硬件资源有限的环境中。 加权中值滤波是一种自适应滤波技术,它通过给窗口内的每个像素赋予不同的权重来改进传统中值滤波器的效果。在本设计中,我们使用的窗口大小...

    Word入门动画教程:文字录入.docx

    在Word中输入文字时,首先要找到插入点,也就是那个不断闪烁的小竖条。它表示了你将在哪里输入新的字符。默认情况下,文字会在插入点前面添加。如果你需要在已有文字的中间插入内容,只需将鼠标指针移动到目标位置...

Global site tag (gtag.js) - Google Analytics