Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不使用:after的情况下在div上创建三角形?_Javascript_Css_Reactjs - Fatal编程技术网

Javascript 如何在不使用:after的情况下在div上创建三角形?

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;

我想用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;
      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>