【问题标题】:how to draw/get this in html? [closed]如何在 html 中绘制/获取它? [关闭]
【发布时间】:2014-04-15 10:41:54
【问题描述】:

我必须在我的网页中获得此功能,即在左侧梯形上会有一个谷歌地图,在右侧梯形上会有另一个背景,如何做到这一点, 请帮忙

【问题讨论】:

  • 我已经尝试绘制一个画布并放置那个东西,但它覆盖了整个页面,我不想要!接下来我该怎么办?
  • @Sham - 使用 javascript 将 % 转换为像素数。

标签: javascript html css html5-canvas


【解决方案1】:

您可以使用带有线性渐变的叠加层作为背景:DEMO


基本 CSS:

#overlay {
  position:absolute;
  z-index:1;
  top:0;
  left:0;
  bottom:0;
  right:0;
  background:linear-gradient(
    to bottom right,
    transparent 49.5%,
    rgba(255,0,0,0.5) 50%
    )
    ;
  pointer-events:none;/* avoid click being catched*/
}

【讨论】:

  • 这真的很有帮助,谢谢
  • 我可以改变任何一侧的背景(左/右)吗?我需要两个背景
  • 是颜色还是图片?
  • @sham,图像为 bg,你可以这样做:codepen.io/anon/pen/nKjlA
【解决方案2】:

只是给你一点提示,它应该可以帮助你得到你想要的。 试试这样的:

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

这是来自页面 http://css-tricks.com/examples/ShapesOfCSS/

【讨论】:

  • 我已经尝试过了,但每次我尝试输入一些 % 值时,它都会消散
  • 这是真的,因为边框宽度不支持 % 中的值。但您可以在页面加载时使用 javascript 转换 px 中的 %。
【解决方案3】:

你可以这样做:

<div id="container">
    <div id="triangle-topleft"></div>
</div>

#container {
  height: 100px;
  width: 100px;
  overflow: hidden;
  background-image: url(http://www.webdesign.org/img_articles/14881/site-background-pattern-07.jpg);
}

#triangle-topleft { 
  width: 0; 
  height: 0; 
  border-top: 100px solid gray; 
  border-right: 100px solid transparent;
}

DEMO

【讨论】:

猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-06
  • 1970-01-01
  • 2012-06-16
  • 2015-03-13
  • 1970-01-01
相关资源
最近更新 更多