我必须在我的网站上做一个标志形状。设计如下。我该如何发展?
对于logo的第一部分,我使用css3 skew属性创建了它,
我修改了下面的链接。如何开发三角形部分和第三部分的标志。三角形是滑块,所以里面的图像应该会改变。
https://jsfiddle.net/iamshajeer/x2og8utk/1/

    .logo-menu {
        height: 76%;
        left: 11%;
        margin: 0 auto;
        width: 80%;
    }
    .first-part {
        display: inline-block;
        left: 135px;
        position: relative;
        transform: skew(-22deg);
        width: 180px;
    }
    .menu-1{
        background:red
    }
    .menu-2{
        background:blue
    }
    .menu-3{
        background:yellow
    }

    <div class="logo-menu">
    <div class="first-part">
        <div class="menu-1" style="height: 167px;">
             <h3>About Us</h3>
        </div>
        <div class="menu-2" style="height: 167px;">
             <h3>Gallery</h3>
        </div>
        <div class="menu-3" style="height: 167px;">
             <h3>Get in Touch with</h3>
        </div>
    </div>
    </div>

最佳答案

您可以使用css转换将元素旋转和倾斜成菱形,然后为子元素反转这些转换。如果在菱形上有overflow: hidden;并将菱形放置在也有overflow: hidden;的包装器中,则可以仅使用css生成包含内容的剪裁三角形。
工作示例(Codepen):

/* Clip the bottom half of the diamond. */
.triangle-wrap {
	width: 400px;
	height: 400px;
	position: relative;
	overflow: hidden;
}
/* Rotate and skew to create a diamond. */
.triangle {
	background: grey;
	position: absolute;
	bottom: -50%;
	width: 100%;
	height: 100%;
	overflow: hidden;
	-webkit-transform: rotate(45deg) skew(20deg, 20deg);
	   -moz-transform: rotate(45deg) skew(20deg, 20deg);
	    -ms-transform: rotate(45deg) skew(20deg, 20deg);
	        transform: rotate(45deg) skew(20deg, 20deg);
}
/* Reset the skew and rotation. */
.triangle-reset {
	width: 100%;
	height: 100%;
	position: relative;
	-webkit-transform: skew(-20deg, -20deg) rotate(-45deg);
	   -moz-transform: skew(-20deg, -20deg) rotate(-45deg);
	    -ms-transform: skew(-20deg, -20deg) rotate(-45deg);
	        transform: skew(-20deg, -20deg) rotate(-45deg);
}
/* Create a content wrapper. */
.triangle-content {
	background: url('http://placehold.it/400x400') no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
	width: 120%;
	height: 120%;
	left: -10%;
	bottom: 65%;
}

/* Visual aid. */
html {
	min-height: 100%;
	background: linear-gradient(to bottom, #336666 0%,#663366 100%);
}

<div class="triangle-wrap">
	<div class="triangle">
		<div class="triangle-reset">
			<div class="triangle-content">
			</div>
		</div>
	</div>
</div>

关于html - 使用CSS绘制三 Angular 形剪切形状,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29529545/

10-11 13:16