【问题标题】:CSS Responsive Triangle WidthCSS响应三角形宽度
【发布时间】:2020-05-08 04:55:52
【问题描述】:

真的很简单的问题,我想知道如何使三角形宽度(使用以下代码在 css 中制作)等于页面宽度,因此当浏览器调整大小时,三角形也会如此。

我的代码,到目前为止

.triangle {
    color: crimson;
    width: 0;
    height: 0;
    margin-top: 30%;
    border-top: 100px solid crimson;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
}

【问题讨论】:

  • 您将宽度设置为 0。假设带有 triangle 类的标签是 body 的子标签,我会尝试使用 width: 100%;
  • @cezar 构造的重点是元素的宽度为 0,因为它从边框获取外观。
  • 试过宽度 100% 只是弄乱了三角形
  • @NielsKeurentjes 感谢您的澄清!看书的时候没注意。

标签: html css css-shapes


【解决方案1】:
.triangle {
    color: crimson;
    width: 0;
    height: 0;
    margin-top: 30%;
    border-top: 100px solid crimson;
    border-left: 50vw solid transparent; /* check border size here! */
    border-right: 50vw solid transparent; /* and here! */
}

Sample fiddle.

Read more on CSS3 vh/vw units.

Browser support is not an issue.

【讨论】:

  • 我想指出一些我没有理解的东西。如果width 属性等于0,它如何获得窗口/父级的全宽?自从看到这篇文章后,我一直在想一件事!
  • width: 0 设置为三角形而不是窗口/视口。所以它会起作用。
  • @Cheshire box model 默认为 width 指定元素内容部分的大小,不包括边框和填充。在这种情况下,另一个解决问题的方法是指定 width:100%box-sizing:border-box 实际上,效果相同。
猜你喜欢
  • 2015-09-16
  • 1970-01-01
  • 2014-10-11
  • 1970-01-01
  • 2019-08-28
  • 2013-07-23
  • 1970-01-01
相关资源
最近更新 更多