我有一个div,它是一个使用CSS边框的三角形。
目前设置为500px宽度。但是我想让它占据屏幕的整个宽度,同时保持其三角形的尖形状
https://jsfiddle.net/hra17z5t/1/
#one {
width: 500px;
background-color: aqua;
height: 300px;
}
#two{
border-top: 100px solid red;
border-right: 250px solid transparent;
border-bottom: 100px solid transparent;
border-left: 250px solid transparent;
width: 0;
height: 0;
}
<div id="one"></div>
<div id="two"></div>
答案 0 :(得分:3)
我有updated your code example:因为你想让它对整个浏览器宽度做出响应,所以非常简单:
#one {
width: 100vw;
background-color: aqua;
height: 300px;
}
#two {
border-top: 100px solid red;
border-right: 50vw solid transparent;
border-bottom: 100px solid transparent;
border-left: 50vw solid transparent;
width: 0;
height: 0;
}
<div id="one"></div>
<div id="two"></div>
这里我们只是将框的宽度设置为100vw
,这是浏览器宽度的100%。由于三角形的尺寸以相同的方式响应,根据您的示例,您可以简单地将边框宽度设置为50vw
(或浏览器宽度的一半),并且它会相应地增大和缩小。
答案 1 :(得分:1)
使用jQuery:
$(window).resize(function () {
var divWidth = $('#one').width();
$('#two').css({
borderLeftWidth: divWidth / 2,
borderRightWidth: divWidth / 2
});
});
$(window).trigger('resize');
#one {
max-width: 100%;
}
答案 2 :(得分:-1)
在搜索“响应式CSS三角”
时在Google上找到此信息https://jsfiddle.net/josedvq/3HG6d/
相关代码如下:
/*Down pointing*/
.triangle-down {
width: 10%;
height: 0;
padding-left:10%;
padding-top: 10%;
overflow: hidden;
}
.triangle-down:after {
content: "";
display: block;
width: 0;
height: 0;
margin-left:-500px;
margin-top:-500px;
border-left: 500px solid transparent;
border-right: 500px solid transparent;
border-top: 500px solid #4679BD;
}