在CSS中,是否可以创建一个顶部宽度为“A”,底部宽度为“B”的div,以便右侧是对角线?[复制]

e0bqpujr  于 2023-03-25  发布在  其他
关注(0)|答案(3)|浏览(102)

此问题在此处已有答案

How to draw a trapezium/trapezoid with css3?(5个答案)
2天前关闭。
我想在CSS中创建具有对角线边的内联块div,顶部宽度为200px,底部宽度为100px。这可能吗?如果可能,如何?或者有人建议作为更好的选择?

3qpi33ja

3qpi33ja1#

HTML的盒子模型意味着div总是矩形的。然而,你可以使用一些技巧来得到一个非常好的结果。最简单的一个是使用css来只给你需要的背景部分着色。你将width设置为较宽的一边,然后使用border-left、right和bottom属性来调整形状。例如:

.myDiv {
  border-bottom: 50px solid #555;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  height: 0;
  width: 125px;
}

您可以在这里看到它的工作原理:https://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_shapes_trapezoid w3school也有一个非常有趣的页面,里面有很多你可以用css创建的形状。https://www.w3schools.com/howto/howto_css_shapes.asp

dfddblmv

dfddblmv2#

你想创建一个梯形吗?

.trapezoid {
    border-top: 100px solid red;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    height: 0;
    width: 100px;
}

x一个一个一个一个x一个一个二个x

vfhzx4xs

vfhzx4xs3#

使用像边框和框阴影这样的东西;有必要做一个真实的的梯形。

.trapezoid {
    /* trapezoid */
    width: 200px;
    height: 100px;
    transform: perspective(50px) rotateX(-25deg);

    /* other style */
    color: white;
    font-size: 23px;
    line-height: 60px;
    font-weight: bold;
    text-align: center;
    background: #5e5e5e;
    margin-left: calc(50% - 100px);
    border-left: 3px solid #46ff00;
    border-right: 3px solid #46ff00;
    border-bottom: 3px solid #46ff00;
    box-shadow: 0px 5px 10px #46ff00;
}

在黑色背景上尝试;)

相关问题