【问题标题】:responsive CSS3 triangle响应式 CSS3 三角形
【发布时间】:2013-12-19 03:02:45
【问题描述】:

我正在尝试向我的一个 div 中添加一个响应式三角形块(不必与 IE8 兼容)。我正在努力使其具有响应性

http://jsfiddle.net/KzqB3/2/

CSS

.triangle {
    width: 90%;
    height: 0;
    padding-left:10%;
    padding-top: 10%;
    overflow: hidden;
}
.triangle:after {
    content: "";
    position: absolute;
    top: 66px;
    display: block;
    float: left;
    width: 0;
    height: 0;
    left: 2%;
    border-left: 275px solid transparent;
    border-right: 275px solid transparent;
    border-top: 50px solid #4679BD;
}
.content { width: 90%; background-color: #4679Bd; }
.content p { color: #fff; padding: 15px 0; }

HTML

<div class="content">
    <p>Paragraph inside this div</p>
</div>
<div class="triangle"></div>

【问题讨论】:

  • 应该是blueu div的宽度吗?它应该垂直响应吗?
  • 您可能需要以不同的方式处理此问题:stackoverflow.com/questions/12380759/…
  • 不..我认为有办法
  • @Ani 我几乎 100% 确定没有办法。最好的选择是使用可以缩放到任何大小或 html5 画布的 svg 图像,尤其是在不需要 IE8 支持的情况下。
  • @JoshPowell 找到了。检查答案

标签: html css


【解决方案1】:

Fiddle Link

CSS

.triangle{
   width: 56%;
   height: 0;
   padding-left: 45%;
   padding-top: 45%;
   overflow: hidden;
}
.triangle div {
   width: 0; 
   height: 0;
   margin-left:-500px;
   margin-top:-500px;
   border-left: 500px solid transparent;
   border-right: 500px solid transparent;
   border-top: 500px solid #4679BD;
}
 .content { width: 90%; background-color: #4679Bd; }
.content p { color: #fff; padding: 15px 0; margin: 0; }

HTML

<div class="content">
   <p>Paragraph inside this div</p>
</div>
<div class="triangle"><div></div></div>

【讨论】:

  • 我不会称其为响应式的,但这是一项不错的工作。在更宽的屏幕上,三角形将脱离其父级并向下射击。我猜,OP 不希望三角形的高度增加。最后一个svg 图像在实际情况下会比这个选项优越得多。
  • 在使用它作为我的起点之前我有这个 jsfiddle.net/josedvq/3HG6d 但是三角形不能是等边的,必须类似于我的小提琴,它是等腰,不能有一个大点
  • ani 发布的内容是响应式的,它不是我正在寻找的三角形
  • 我会尽量让它等腰
猜你喜欢
  • 2015-01-09
  • 2019-08-12
  • 1970-01-01
  • 2019-08-28
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
相关资源
最近更新 更多