2010-03-06 69 views
1

有人可以帮助我在这个页面上的CSS? http://www.thepatstudio.com/pat/帮助与CSS,使默认情况下div是页面长度

我有一个侧边栏,它有一定的长度和链接到页面的其余部分。在旁边是文字和背景图像的区域。如果文本太短,我希望整个div的长度与侧边栏的长度相同,如果文本的文本太长,则需要更长的底部图像。我试图使用高度:100%,但似乎无法让它工作,除非我将它设置为> 100%,然后如果文本长于此长度,则不会更新。

<div id="x"> 
<div id="sidebar"> 
<br> 
<h2>Artist Info</h2><br> 
<h2>Assemblage</h2><br> 
<h2>Collage</h2><br> 
<h2>Blog</h2><br> 
<h2>Etsy</h2><br> 
<h2>Guestbook</h2><br> 
<h2>Studio</h2><br> 
<h2>Contact</h2><br> 
<h2>Links</h2><br> 
<h2>Home</h2><br></div> 
<div id="txt"> 
<div id="title"><h2 id ="ttext">Assemblage</h2></div> 
<div id="text">texttext 
</div> 
</div> 
</div> 

#sidebar {background-color:#FFFFFF;width:158px;float:left} 
#txt{background-color:#000000;width:770px;position:absolute; 
right:328px;} 
#title{background-color:#FFFFFF;position:relative;width:151px; margin-left: 25px;padding-left:10px;padding-right:10px;top:10px;height:45px;} 
#text{background-color:#FFFFFF;position:relative;margin: 25px; padding: 20px } 
#ttext {padding-top: 10px} 
#x {height: 100%} 
+0

如果您只是不设置“高度”,该怎么办? – 2010-03-06 04:47:05

+0

这似乎没有帮助。 – 2010-03-06 04:59:11

+0

这对表格来说很重要。 – cletus 2010-03-06 05:06:34

回答

0

尝试使用一些漂亮的javascript来动态调整高度。

下面是使用jQuery(流行的JS框架)

<!-- loads the jquery lib, stick this in head 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> 

<!--append this to the end of your script--> 

<script type="text/javascript"> 

var sideBarHeight = $('#sidebar').height(); 

$('#text').height(sideBarHeight); 

</script> 
+0

我正在考虑这样做,因为我在我的主页上这样做了,但我想知道这是不是一个好主意,而不仅仅是一个黑客? – 2010-03-06 05:45:31

+1

不,黑客正在浏览器中使用特定的缺陷/缺陷(用于网页开发)来实现特定目标,黑客在更新/补丁发生时很容易中断。这是javascript/jQuery;它的目的就是要这样工作,除非在未来版本中库变化很大,否则它不可能中断。而且它绝对不会利用任何地方的缺陷或缺陷。 – 2010-03-06 06:00:47

0

对于初学者你不应该重复使用H2标签作为布局的元素,但最好使用列表中的元素因为这是一个简单的例子他们是为了,而标题标签具有特定的含义和排名的DOM。

我想创建你想要的布局,你应该浮动主X元素中的其他元素,确保您清除了浮动:

http://www.positioniseverything.net/easyclearing.html

你不应该在任何元素的使用绝对定位以便它们包含在同一个#x div

+0

感谢您的提示。我的CSS仍然是粗制滥造。 – 2010-03-06 06:53:22