html - Css Skew 创建一个相框

标签 html css image frame skew

我正在尝试使用 CSS 在每一侧倾斜一个 div 以模仿相框 Angular ,但我不知道如何分别倾斜每一端并保留背景图像。

最佳答案

已更新再添加两个div,这将是一个技巧

 <div class="container">
       <div class="topFrame"> </div>
       <div class="leftFrame"></div>
       <div class="imgContainer">IMG GOES HERE</div>
       <div class="rightFrame"></div>
       <div class="botFrame"></div>
       <div class="leftTriangle"></div> <!--New Div left lower triangle-->
       <div class="rightTriangle"></div> <!--New Div right lower triangle-->
 </div>

不要对 topFrame 和 bottomFrame 使用倾斜

.botFrame:after { 
    display:block;
    content: ' '; 
    background: #444; 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}  
.topFrame:after { 
    display:block;
    content: ' '; 
    background: #888;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} 

首先将容器的 overflow 设置为 hidden 并进行这些更改

.container{
     overflow: hidden;
 }

.leftFrame{
     background: #888;
}
.leftFrame:after {
    transform: skew(0deg, 45deg);
}
.leftTriangle{
    position: absolute;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 50px 0 0;
    border-color: #131213 transparent transparent transparent;
}
.rightTriangle{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 50px 50px 0;
    border-color: transparent #222222 transparent transparent;
}

关于html - Css Skew 创建一个相框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324764/

相关文章:

html - 如何让 VS HTML 编辑器默认为单引号?

jquery - 使用 jQuery UI "size"效果时防止回流

html - 从最后一个状态开始动画它结束 CSS

html - Bootstrap 轮播下方的文字?

javascript - 如何在点击时获取所需的值输入?

javascript - 为什么 <video> 从 DOM 中移除后停止播放,而它仍然可以分离播放?

javascript - 根据单选按钮的状态变化使子内容出现/消失

python - 求凹曲线形状 Blob 的宽度和高度

html - 图片不适合背景图片

amazon-web-services - 如何根据 kubernetes 集群位置更改网站内容?