(实战)多边形,梯形盒阴影css实现技巧

一般情况下,我们给块状元素(四边形)添加阴影样式,直接用css box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);就可以了,但是总有一些需求是那么的特别,例如下图:

要求给这样的梯形盒外围加阴影,第一眼感觉也没啥特别的,但是搞起来就知道多烦了。反正我是折腾了好一会儿,最后只能用下面这样实现了。

HTML和CSS(sass)代码:

        <div class="m-tab-page-box cf">
            <div class="m-tab-page">
                <a class="m-page-item" href="">Set Physical Presence </a>
                <a class="m-page-item current" href="">Set Prodcut Tax Code </a>
            </div>
            <div class="m-tab-page-cover"></div>
        </div>

        <div class="tab-search-block">
            <div style="height: 160px;"></div>
        </div>
.m-tab-page-box{
    position: relative;
}
.m-tab-page-cover{
    width: 100%;
    height: 3px;
    background: #fff;
    position: absolute;
    bottom: -3px;
}
.m-tab-page {
    float: left;
    border-bottom: none;
    margin-bottom: 0;
    display: inline-block;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    height: 38px;

    .m-page-item {
        display: block;
        padding: 10px 20px;
        float: left;
        color: #222;
        font-weight: bold;
        margin-bottom: 0;
        background: #edf0f2;

        &.current {
            background: #fff;
            border: none;

        }
    }

}

.tab-search-block{
    background: #fff;
    box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;

}

实现思路:‘.m-tab-page‘设成行内元素,加阴影,‘.tab-search-block‘加阴影,重点是在‘.m-tab-page-box‘中添加一个‘.m-tab-page-cover‘,该元素的作用就是遮住‘.m-tab-page‘元素的底部阴影,注意‘.m-tab-page-cover‘的高度为盒阴影扩散的距离。

备注:
如果哪位有更好的思路,烦请留言说下啊。

原文地址:https://www.cnblogs.com/homehtml/p/11966415.html

时间: 2024-10-20 05:07:48

(实战)多边形,梯形盒阴影css实现技巧的相关文章

web前端入门到实战:CSS 阴影动画优化技巧

box-shaodw 在我们的工作中使用以及越来越多,伴随阴影的动画或多或少都有一点.假设,我们有下面这样一个盒子: div { width: 100px; height: 100px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } 希望 hover 的时候,盒阴影从 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) 过渡到 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3). box-sh

学好Web前端开发,必要了解的HTML+CSS的技巧有哪些

HTML+CSS的技巧有哪些?怎么学好Web前端开发?经过Web前端学习的一个过程,每个人都会对前端的认识逐渐由浅入深,由一开始僵硬地使用标签和标签属性进行简单网页布局,到最后能够对网页进行丰富的CSS渲染,逐渐不断成长起来.接下来给大家分享一下阶段学习技巧. 1.合理清晰的HTML文档结构有着重要的意义. 首先,这有利于自己写CSS时选择标签;其次,这方便别人阅读自己的代码;最后,合理的使用语义化标签,也能让方便各大搜索引擎的收录. 2.对标签添加浮动对网页横排有着非常重要的意义. 一开始接触

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像. 从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面.同时实战开发中的案例代码可以作为你项目中的精简框架了. 当你学习完成<CSS3实战开发: 弹性盒模型之响应式WEB界面设计>这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识. Bootstrap(弹性流体布

2天驾驭DIV+CSS (技巧篇)(转)

这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们.本文是技巧篇. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” 将你引入两大误区[知识三] 什么是W3C标准?[基础一] CSS如何控制页面[基础二] CSS选择器[基础三] CSS选择器命名及常用命名[基础四] 盒子模型[基础五] 块状元素和内联元素 实战篇[第一课] 实战小热身[第二课] 浮动[第三课] 清除浮动[第四课] 导航条(上) | 导航条(下)[大练

Css 小技巧总结

相对偏移 指定left top等属性就能够够完美控制一个元素的位置 如: position:relative; left:2px; 今天遇到一个很好玩的问题,当两个并排浮动框,当一个框的长度太大时就会把另一个框顶到下一行,这个时候就可以用margin-right:-2px;将右外距设置为负数来解决! css写表达式控制图片大小,当图片大小大于某一数值时,强制设置其宽 高为指定大小. img { max-width: 163px; width:expression(this.width > 163

盒阴影及文字操作

一.盒阴影 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <mehtmlta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 div{ 8 width: 200px; 9 height:200px; 10 margin:3

你所不知道的 CSS 负值技巧与细节

原文:你所不知道的 CSS 负值技巧与细节 写本文的起因是,一天在群里有同学说误打误撞下,使用负的 outline-offset 实现了加号.嗯?好奇的我马上也动手尝试了下,到底是如何使用负的 outline-offset 实现加号呢? 使用负值 outline-offset 实现加号 假设我们有这样一个简单的结构: <div></div> div { width: 200px; height: 200px; outline: 20px solid #000; outline-of

如何能提高CSS编写技巧 提高Web前端开发效率

如何能提高CSS编写技巧?怎么学好Web前端开发?很多人在学习Web前端时,刚开始都会学习HTML和CSS,HTML用于文本内容,CSS用于样式设计,掌握这两部分知识就可以进行简单的页面制作.不过如果耗时过长作品一般未免有些得不偿失,因此你需要掌握一些技巧,以提高CSS编写效率. 1.使用flex进行布局 flex弹性布局的出现是有原因的.浮动和inline-block虽然也能实现很多的布局效果,但它们本质上是文本和块元素布局的工具,而不是面向整个网页的.flex可以很容易的按照我们预期的方式创

PIE使IE支持CSS3圆角盒阴影与渐变渲染

PIE使IE支持CSS3圆角盒阴影与渐变渲染 http://css3pie.com/download/