Javascript 如何在不使用:after的情况下在div上创建三角形?
我想用CSS创建下面的样式 以下代码可以正常工作:Javascript 如何在不使用:after的情况下在div上创建三角形?,javascript,css,reactjs,Javascript,Css,Reactjs,我想用CSS创建下面的样式 以下代码可以正常工作: .my-class:after { content: " "; position: absolute; top: 0; right: -16px; width: 0; height: 0; border-top: 18px solid transparent; border-bottom: 18px solid transparent;
.my-class:after {
content: " ";
position: absolute;
top: 0;
right: -16px;
width: 0;
height: 0;
border-top: 18px solid transparent;
border-bottom: 18px solid transparent;
border-left: 17px solid $explainStageTailBkColor;
z-index: 2;
transition: border-color 0.2s ease;
}
我正在使用
reactjs
,需要在运行时设置代码。由于react不支持更新伪元素样式,因此我必须使用常规dom。如何将常规dom转换为三角形样式?您可以使用带有位置:绝对
我在下面贴了一个例子
希望能有所帮助
。我的班级{
位置:相对位置;
宽度:150px;
高度:20px;
背景:番茄;
}
.拐角处{
位置:绝对位置;
右:-20px;
排名:0;
左边框:10px实心番茄;
右边框:10px实心透明;
边框顶部:10px实心透明;
边框底部:10px实心透明;
}
您可以通过使用带有位置:绝对的类来使用
我在下面贴了一个例子
希望能有所帮助
。我的班级{
位置:相对位置;
宽度:150px;
高度:20px;
背景:番茄;
}
.拐角处{
位置:绝对位置;
右:-20px;
排名:0;
左边框:10px实心番茄;
右边框:10px实心透明;
边框顶部:10px实心透明;
边框底部:10px实心透明;
}
使用
div{
显示:内联块;
填充:1em;
背景:黑色;
}
div div{
背景:蓝色;
左边距:-1米;
}
第一个孩子{
宽度:1.5em;
}
分区:第n个子(2n){
变换:旋转(45度)比例(.7);
}
使用
div{
显示:内联块;
填充:1em;
背景:黑色;
}
div div{
背景:蓝色;
左边距:-1米;
}
第一个孩子{
宽度:1.5em;
}
分区:第n个子(2n){
变换:旋转(45度)比例(.7);
}
。我的班级{
位置:相对位置;
宽度:0px;
高度:20px;
背景:番茄;
}
.拐角处{
位置:绝对位置;
右:-30px;
排名:0;
左边框:10px实心番茄;
右边框:10px实心透明;
边框顶部:10px实心透明;
边框底部:10px实心透明;
-ms变换:旋转(-90度);/*IE 9*/
-webkit变换:旋转(-90度);/*铬合金、Safari、Opera*/
变换:旋转(-90度);
}
您可以使用带有position:absolute的类
您需要将子div变换为-90度,使其看起来像一个三角形。
这是新代码,我希望它能帮助您。。我的班级{
位置:相对位置;
宽度:0px;
高度:20px;
背景:番茄;
}
.拐角处{
位置:绝对位置;
右:-30px;
排名:0;
左边框:10px实心番茄;
右边框:10px实心透明;
边框顶部:10px实心透明;
边框底部:10px实心透明;
-ms变换:旋转(-90度);/*IE 9*/
-webkit变换:旋转(-90度);/*铬合金、Safari、Opera*/
变换:旋转(-90度);
}
您可以使用带有position:absolute的类
您需要将子div变换为-90度,使其看起来像一个三角形。
这是我希望能对您有所帮助的新代码。哈哈,复制并粘贴答案,并做一些更改。。好!!哈哈,伙计,复制并粘贴答案,并做一些修改。。好!!
.my-class {
position: relative;
width: 0px;
height: 20px;
background: tomato;
}
.corner {
position: absolute;
right: -30px;
top: 0;
border-left: 10px solid tomato;
border-right: 10px solid transparent;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
-ms-transform: rotate(-90deg); /* IE 9 */
-webkit-transform: rotate(-90deg); /* Chrome, Safari, Opera */
transform: rotate(-90deg);
}
<div class="my-class">
<span class="corner"></span>
</div>