我正在尝试构建一个可以覆盖一些文本的内容框。我正在努力构建一个新功能。虽然它正在开发中,但我想实际展示一些将在页面上发生的变化。因此我想把它全部放在一个灰色的盒子里,然后把“建设中”的文字从一个角落覆盖到另一个角落。
我正在将 PureCSS 用于其他元素,我知道这不应该是一个需要的细节,但是如果这个框架已经内置了一些我不知道的很酷的东西,那么使用它会很棒。
所以我想在这个部分周围放一个框,所以我选择把它放在一个看起来最好的网格上下文中。我还想在框上以 45 度角放置一些文字。这是我开始的地方,现在我想稍微改进一下。我想不是以 45 度角覆盖内容,而是从一个角落到另一个角落。现在最重要的是,我希望它随着内容框和页面的大小变化而动态调整大小。除了一些将线条放在框上的示例之外,我没有发现任何其他内容,但没有任何东西是动态的,也没有任何内容包含文本。
我需要一种方法来进行数学动态计算以计算出盒子的大小,然后计算出正确的角度,或者让它从左下角到右上角的相对定位。因此我知道transform: rotate(-45deg);
遗嘱需要改变。如果可能的话,我想将文本居中放在这一行上。
.diagonal-construct {
content: '';
transform: rotate(-45deg) perspective(0);
text-align: center;
vertical-align: center;
font-size: 150%;
color: Orange;
}
.diagonal-construct::before {
content: "\01F6A7";
}
.diagonal-construct::after {
content: "\01F6A7";
}
.grid-content {
padding: 0.5em;
border: 1px solid #ccc;
border-radius: 3px;
border-top-left-radius: 0;
overflow-y: hidden;
background: lightgrey;
}
<div class="grid-content" id="diag">
<p>Please continue to checkback for more updates.</p>
<div class="diagonal-construct"><b>Under Construction</b></div>
</div>
最后,如果可能的话,这有点离题,让“正在建设中”全部来自 CSS 样式会很棒,但我还没有弄清楚如何让它工作。当我试图把它放在content: '';
CSS 的一部分然后把它从 HTML 中取出时,所有的文本都消失了,只剩下表情符号。
如果这是重复的,请帮助指导我正确的方式,我花了一些时间寻找,也许我的搜索词很糟糕,但我还没有找到好的解决方案。
更新一些 Javascript 来定义角度
我创建了一个小附加函数来定义从角到角的角度div
。现在我需要一些帮助来添加我的 CSS。我确实必须在上面添加以下内容,div
以便我可以获得属性id="diag"
我需要将我创建的新变量添加rotatdeg
到工作表的样式中。请帮忙。
<body onresize="myFunction()">
<script>
function myFunction() {
var w = document.getElementById('diag').clientWidth;
var h = document.getElementById('diag').clientHeight;
var deg = (Math.atan(h / w)) * (180 / Math.PI);
var rotatdeg = "-" + deg + "deg";
}
</script>
我也发现这并没有帮助,也许一些解释会帮助本教程更有意义:http: //jonraasch.com/blog/javascript-style-node