使用多边形复制剪辑路径
Replicating a clip path with polygons
所以我正在尝试复制以下屏幕截图:
纯 css 这很容易。花了 3 秒。
但是我需要支持IE9,IE9不支持clip-path
。我能找到的唯一可以正确缩放 div 的方法是使用 SVG。
页面永远不需要滚动,所以我的计划是有一个绝对定位的 div 包含 svg 和分层内容。
这是问题所在,目前我的代码产生了这个:
帮忙?
下面是底层代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Error 404</title>
<style>
body {
background: #F1F1F1;
background-image: url('https://wallpaperclicker.com/storage/wallpaper/High-Definition-Ultra-HD-Wallpaper-96262544.jpg');
background-size: cover;
}
body, html {
height: 100%;
padding: 0;
margin: 0;
}
.main-bg {
height: 100%;
width: 100%;
}
.main-container {
height: 100%;
width: 80%;
}
</style>
</head>
<body>
<div class="main-container">
<svg class='main-bg' viewBox="0 0 100 100" >
<polygon points="0,0 0,100 55,100 100,0" style="fill: rgba(41, 49, 56, 0.95);" />
</svg>
</div>
</body>
</html>
您的 viewBox 的纵横比与容器不匹配,因此会出现间隙。您可以使用 preserveAspectRatio="none" 来允许宽高比随容器形状而变化。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Error 404</title>
<style>
body {
background: #F1F1F1;
background-image: url('https://wallpaperclicker.com/storage/wallpaper/High-Definition-Ultra-HD-Wallpaper-96262544.jpg');
background-size: cover;
}
body, html {
height: 100%;
padding: 0;
margin: 0;
}
.main-bg {
height: 100%;
width: 100%;
}
.main-container {
height: 100%;
width: 80%;
}
</style>
</head>
<body>
<div class="main-container">
<svg class='main-bg' viewBox="0 0 100 100" preserveAspectRatio="none">
<polygon points="0,0 0,100 55,100 100,0" style="fill: rgba(41, 49, 56, 0.95);" />
</svg>
</div>
</body>
</html>
所以我正在尝试复制以下屏幕截图:
纯 css 这很容易。花了 3 秒。
但是我需要支持IE9,IE9不支持clip-path
。我能找到的唯一可以正确缩放 div 的方法是使用 SVG。
页面永远不需要滚动,所以我的计划是有一个绝对定位的 div 包含 svg 和分层内容。 这是问题所在,目前我的代码产生了这个:
帮忙?
下面是底层代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Error 404</title>
<style>
body {
background: #F1F1F1;
background-image: url('https://wallpaperclicker.com/storage/wallpaper/High-Definition-Ultra-HD-Wallpaper-96262544.jpg');
background-size: cover;
}
body, html {
height: 100%;
padding: 0;
margin: 0;
}
.main-bg {
height: 100%;
width: 100%;
}
.main-container {
height: 100%;
width: 80%;
}
</style>
</head>
<body>
<div class="main-container">
<svg class='main-bg' viewBox="0 0 100 100" >
<polygon points="0,0 0,100 55,100 100,0" style="fill: rgba(41, 49, 56, 0.95);" />
</svg>
</div>
</body>
</html>
您的 viewBox 的纵横比与容器不匹配,因此会出现间隙。您可以使用 preserveAspectRatio="none" 来允许宽高比随容器形状而变化。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Error 404</title>
<style>
body {
background: #F1F1F1;
background-image: url('https://wallpaperclicker.com/storage/wallpaper/High-Definition-Ultra-HD-Wallpaper-96262544.jpg');
background-size: cover;
}
body, html {
height: 100%;
padding: 0;
margin: 0;
}
.main-bg {
height: 100%;
width: 100%;
}
.main-container {
height: 100%;
width: 80%;
}
</style>
</head>
<body>
<div class="main-container">
<svg class='main-bg' viewBox="0 0 100 100" preserveAspectRatio="none">
<polygon points="0,0 0,100 55,100 100,0" style="fill: rgba(41, 49, 56, 0.95);" />
</svg>
</div>
</body>
</html>