css的一些奇淫技巧(一)

布局

水平垂直居中?最快的水平垂直居中方法是什么?

①大部分人都不太关注的 Grid 布局:

<div class="container">
   <div class="box"></div>
</div>

相关css代码:

    .container {
        width: 100%;
        height: 100vh;
        display: grid;
        place-content:center
    }
    .box{
        width: 80px;
        height: 80px;
        background-color:#000
    }

效果实现:

 

②巧用自动 margin

<div class="container">
   <div class="box"></div>
</div>

相关css代码:

    .container {
        width: 100%;
        height: 100vh;
        display: flex;
    }
    .box{
        width: 80px;
        height: 80px;
        background-color:#000;
        margin: auto;
    }

效果如下:

在 flex 格式化上下文中,设置了 margin: auto 的元素,在通过 justify-content 和 align-self 进行对齐之前,任何正处于空闲的空间都会分配到该方向的自动 margin 中去

其他布局

 这种左右布局的格式也很常见,来看一下怎么实现的吧

        <ul class="nav">
            <li>导航A</li>
            <li>导航B</li>
            <li>导航C</li>
            <li>导航D</li>
            <li class="login">登陆</li>
            <li>注册</li>
        </ul>

css样式:

    .nav{
        height: 60px;
        background-color:skyblue;
        display: flex;
        align-items: center;
    }
    .login{
        margin-left: auto;
    }

即可实现这种效果。

上下结构也可以使用,下方为吸附在底部的效果也很常见 常规我们可能使用position: fixed;现在来换一种方式吧

 

    <div class="container">
            <div class="real-box">
                ...
            </div>
            <div class="footer"></div>
    </div>

相关css代码

     .container {
        width: 100%;
        height: 100vh;
        display: flex;
        flex-direction: column;
    }
    .footer{
        margin-top: auto;
        flex-shrink: 0;
        height: 30px;
        background-color:deeppink
    }

 即可实现该效果

阴影

使用阴影可以轻松得到图片本身,并且任意改变颜色及大小

<div class="container">
            <div class="box"></div>
    </div>

 css样式:

.box{
        width: 80px;
        height: 80px;
        background-color:#000;
        box-shadow:
        80px 80px 0 0 yellow,
        -80px 80px 0 10px green;
    }

即可获得上述效果的实现。

给图片盒子添加多层边框

 css样式:

.box{
        width: 80px;
        height: 80px;
        background-color:#000;
        box-shadow:
            0 0 0 2px red,
            0 0 0 4px orange,
            0 0 0 6px yellow,
            0 0 0 8px green,
            0 0 0 10px cyan;
    }

即可实现上述效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值