2012-03-20 27 views
8

隐藏边框我有一个<div id="content">带边框。在div之上是另一个带有一些文字的<div id="header">。我想显示边框的文字,但我不想显示它。如果div高于

为了便于说明,我已经在这里发布我的源代码:http://jsfiddle.net/4HSEn/,这是我想达到的目标:

enter image description here

文本将是动态的,背景将是梯度。所以图像不是解决方案。

我知道如何实现这个fieldsetlegend标签,但我正在寻找与div或任何其他标签的解决方案。

找到的东西在这里:Is it possible to achieve a <fieldset>-like effect without using the <fieldset> tag?但是对于legend用背景色:#FFF,这并不能帮助我非常多:/

+0

BTW。渐变背景不支持IE9 http://caniuse.com/#search=gradient ..所以也许你需要使用图像。 – Engineer 2012-03-20 18:47:26

+0

我知道IE不支持很多好东西..我会用css3pie :) – JercSi 2012-03-20 18:49:39

+0

只是好奇,fieldset/legend标签有什么问题? – j08691 2012-03-20 20:35:01

回答

-1

附上您的文本在<span style="background-color: blue;">或类似的东西。这应该工作。

+1

他正在为渐变背景。一个坚实的背景色会突出反对它。 – 2012-03-20 20:34:54

2

未经测试的理论,但也许你可以给#header与身体背景相同的渐变背景,然后偏移#头部的背景位置(使用js)与相对于身体的X和Y位置?

基本上我提出了一种掩蔽效应。

编辑:用body替换#content,更符合OP的当前代码示例。

+0

我真的很接近JS的解决方案。但后来我放弃了。我已经用脚本更新了jsfiddle(问题中的url),它可以计算出我需要哪种颜色。如果我有时间,我会完成脚本并发布我的解决方案。 +1的想法 – JercSi 2012-03-21 20:52:06

0

你为什么不把你的内容的div了由顶部位置设置为负值:

<div id="header" style="background-color: blue;">Demo</div> <div id="content" style="top: -15px; border: 1px solid white"></div>

相关问题