我试图创建一个三角形的' div'我需要输入一些文本和一个覆盖整个' div的背景图像。
我尝试使用css和jquery(我使用jquery,因此' triangle-element'总是触及' triangle-corner'的3个顶点)
结果很好,但是三角形内容'不在其中心。
我已将逆变换应用于三角形内容'为了让它不被旋转,但在那之后我无法将其置于父元素的中心。
http://jsfiddle.net/simonepri/c6aukfzj/1/
我已经创建了一个代码段来向您展示问题。
如果您更改页面,则可以看到黄色区域('三角形内容')未覆盖整个黑色div('三角形元素')。 这是一张显示问题的图片:http://i.stack.imgur.com/DYJcj.jpg 我怎么能把黄色的div中心?
$( window ).ready(function() {
var angle = Math.atan($(".triangle-corner").height()/$(window).width());
$(".triangle-element").css("transform", 'rotate(' + -angle + 'rad)');
$(".triangle-content").css("transform", 'rotate(' + angle + 'rad)');
});
$( window ).resize(function() {
var angle = Math.atan($(".triangle-corner").height()/$(window).width());
$(".triangle-element").css("transform", 'rotate(' + -angle + 'rad)');
$(".triangle-content").css("transform", 'rotate(' + angle + 'rad)');
});

#what-i-do {
width: 100%;
height: 600px;
}
#wid-designer {
width: 100%;
height: 40%;
}
.triangle-corner {
position: relative;
overflow: hidden;
width:100%;
height: 100%;
}
.triangle-element {
position: absolute;
overflow: hidden;
transform-origin: 100% 100%;
height: 100%;
width: 150%;
background-color: #000;
right: 0px;
top:-100%;
}
.triangle-content {
position: absolute;
overflow: hidden;
transform-origin: 100% 100%;
height: 100%;
width: 66.666666666666666666%;
background-color: #ff0;
right: 0px;
color: #ffffff;
top:100%;
font-size: 40pt;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<article id="what-i-do"> <!-- 1 -->
<section id="wid-designer">
<div class="triangle-corner"><div class="triangle-element"><div class="triangle-content">
the yellow div need to fill the balck div and need to be centered (0 margin in all direction)
</div></div></div>
</section>
</article>
&#13;
感谢。
编辑: 这个问题不是重复的: CSS triangle containing text 因为它使用css hack(border-color)来创建一个无法用背景图像和背景位置设置样式的三角形。
答案 0 :(得分:0)
摆弄left
,top
,width
和padding-left
的css值让我得到了一个完整的黄色三角形:
主要问题似乎是使用:
width: 66.666666666666666666%;
答案 1 :(得分:0)
简单地将rotate()更改为skewY()已经解决了我的问题,现在效果很好。 无论如何,谢谢你的帮助。