码迷,mamicode.com
首页 > Web开发 > 详细

项目debug(一):css3中box-shadow的溢出问题

时间:2015-08-06 01:59:45      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

今天做项目遇到一个box-shadow的溢出父容器的问题,如下面的代码中,子容器inner的box-shadow在没有任何设置的情况下是溢出父容器的。

代码:

技术分享
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
    .outer {
        width: 200px;
        height: 200px;
        background: #ffffff;
        border: 1px solid #000000;
        border-radius: 10px;
    }
    
    .inner {
        width: 100px;
        height: 100px;
        margin: 50px auto;
        background: #eeeeee;
        box-shadow: 75px 75px black;
    }
</style>
<body>
<div class="outer">
    <div class="inner"></div>
</div>
</body>
</html>
View Code

预览图:

技术分享

此时解决的方法很简单,只需要在父容器的样式里加上over-flow:hidden就可以了

   .outer {
        width: 200px;
        height: 200px;
        background: #ffffff;
        border: 1px solid #000000;
        border-radius: 10px;
        overflow: hidden;
    }

预览图:

技术分享


 

但有时候现实中的项目会比较复杂,比如我在项目中,为了给子容器增加z-index,使用了position:absolute,此时子容器的box-shadow也出现了溢出父容器的现象。解决的办法其实也很简单,只需要给父容器outer指定position:relative,把它变为子容器inner的位移参照物即可。

.outer {
        position: relative;
        width: 200px;
        height: 200px;
        background: #ffffff;
        border: 1px solid #000000;
        border-radius: 10px;
        overflow: hidden;
    }
    
    .inner {
        position: absolute;
        width: 100px;
        height: 100px;
        margin: 50px auto;
        background: #eeeeee;
        box-shadow: 75px 75px black;
    }

预览图:

技术分享

项目debug(一):css3中box-shadow的溢出问题

标签:

原文地址:http://www.cnblogs.com/shuiyi/p/4706275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!