【问题标题】:How to resize trapezoid in CSS when browser window resize浏览器窗口调整大小时如何在CSS中调整梯形大小
【发布时间】:2014-12-25 00:12:41
【问题描述】:

我试图在调整浏览器窗口大小时调整梯形形状。我试图通过使用box-resize 来做到这一点,但它仍然没有用。是否可以通过使用border hack 定义/创建梯形来做到这一点?当浏览器窗口调整大小时,我可以通过什么其他方式调整梯形?

<body style="position:relative;height:500px;">
    <div id="personal" style="position:relative;
        background-color: red;
        width:100%; 
        height:100%;"> 
        <div id="floor" style="position:absolute; margin-top:10px;
            border-bottom: 300px solid black;
            border-left: 565px solid transparent; 
            border-right: 570px solid transparent; 
            height: 10%;
            width: 100%;">
        </div>
    </div>
</body>

【问题讨论】:

  • 欢迎来到 SO mate!因为你的问题得到了很好的解释,但我只是对代码块格式和内容进行了一些小的改动,目的是让它变得更好。如果您认为任何编辑不正确/与您帖子的原始含义相违背,请随时回滚编辑。
  • This 是我以前写的一个答案。它不使用边界 hack 来创建梯形,但可以帮助您了解实现梯形形状的替代方法。
  • 当然,感谢@Harry 格式良好。很好的例子link

标签: html css responsive-design resize css-shapes


【解决方案1】:

您不能将百分比单位应用于边框,但您可以使用vw 单位实现您的目标:

v+iewport 宽度的 1/100。 (source : MDN)

DEMO

body {
    position:relative;
    height:500px;
    margin:0;
    padding:0;
}
#personal {
    position:relative;
    background-color: red;
    width:100%;
    height:100%;
}
#floor {
    position:absolute;
    top:10px;
    border-bottom: 300px solid black;
    border-left: 19vw solid transparent;
    border-right: 19vw solid transparent;
    height: 10%;
    width: 60vw;
}
<body>
    <div id="personal">
        <div id="floor"></div>
    </div>
</body>

注意:我还将您的内联 CSS 移至单独的样式表,因为不推荐内联 CSS。

IE9+ 支持vw 单位see canIuse

【讨论】:

  • 非常有帮助的@web-tiki。我有下一个问题,在我使用梯形之后,让 div 看起来像这样 [link] (jsfiddle.net/j4u6bom1/15) 是不是一个很好的解决方案?如何更好地适应这些元素,因为现在当我调整浏览器窗口大小时,梯形不适合顶部边框??
  • 工作正常:),但我使用 div 是因为以后想在每个 div 中放置一些图像(或画布)或其他元素。也许我对这个带有 div 的解决方案的思考方式不是很好,所以我愿意接受其他解决方案,如果他们更推荐或者你的知识和经验可以帮助解决这个问题。
  • @Karbox 也许这种方法更适合您的项目:jsfiddle.net/webtiki/khu4j1us 如果这不适合您,我建议您提出一个新问题,因为它与原始问题不同。
  • 是的,这可能很有用。真的感谢@web-tiki。我将图像设置为 div,然后看看它是如何工作的。
猜你喜欢
  • 2012-02-23
  • 2023-04-07
  • 2015-04-20
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
相关资源
最近更新 更多