我正在学习CSS并发现它并不总是那么直观(欢迎来到webdev,我猜)。 :)
为了创建一个简单的静态进度条,我使用下面的HTML文件:
<html>
<head></head>
<body>
<table border='1' cellspacing='0'>
<tr>
<td>Sample Cell</td>
<td>
<!-- This is meant to be a progress bar -->
<div style="background-color: #0a0; width: 20%;">
<div style="text-align: center; width: 300px;">
Text Here!
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
我得到了这个:
这是好的,除了第二列的宽度是固定的这一事实。但如果我继续将width: 300px
更改为width: 100%
,则文本会转到绿色框,而不是整个表格单元格。
如何使用文本“填充”表格单元格而不强加特定的长度限制?
答案 0 :(得分:3)
通过将文本div放在您的彩色div的内部(作为孩子),您告诉HTML您希望文本显示在彩色div中。所以内部div的宽度为100%意味着它的父div的宽度,你设置为20%。
编辑:添加代码 * 编辑:更新代码 *
<html>
<head>
<style>
#bar{
width: 100%;
position: relative;
}
#progress{
background-color: #0a0;
width: 20%;
position: absolute;
z-index: 0;
}
#progress_text{
text-align: center;
width: 100%;
position: relative;
z-index:1;
}
.progress_cell{
}
</style>
</head>
<body>
<table border='1' cellspacing='0'>
<tr>
<td>Sample Cell</td>
<td class="progress_cell">
<div id="bar">
<!-- This is meant to be a progress bar -->
<div id="progress">
</div>
<div id="progress_text">
Text Here! Text Here! But it's really long, and it's going to overflow ...
</div>
</div>
</td>
</tr>
</table>
</body>
</html>
答案 1 :(得分:2)
这是你的html / css简介。谢谢我,当你收到我的账单;)。第一个...表格用于表格数据。不是布局第二......
#wrapper {
position:absolute;
top:10px;
left:50%;
width:900px;
height:500px;
margin:0px auto 0px -450px;
padding:0px;
background-color:#369;
}
#box_1 {
width:100%;
height:100px;
margin:0px auto;
padding:0px;
background-color:red;
}
这是html ...
<html>
<head>
</head>
<body>
<div id="wrapper">
<div id="box_1">
<p>stuff</p>
</div>
</div>
</body>
</html>
希望这有助于您入门
答案 2 :(得分:0)
如果将width设置为%,则将采用其父元素的宽度。在您的情况下,div采用父元素的宽度,即td
答案 3 :(得分:0)
这是一个解决方案(我想?)