我的div宽度有问题,我希望div的宽度等于它的宽度。
我遇到的问题是,如果我将浏览器的宽度调整为1024,内容不再浮动,这是正确的,但我需要围绕它的div与其内容一样宽。
以下是我用来测试它的代码:
提前致谢!!!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Content with Menu</title>
<style type="text/css">
.box {
border: 1px solid #AAA;
border-radius: 4px;
padding: 10px;
margin-bottom: 20px;
display: -moz-inline-stack;
display: inline-block;
vertical-align: top;
zoom: 1;
*display: inline;
}
div.box ol li label {
font-size: 12px;
position: relative;
float: left;
width: 11em;
margin-right: 1em;
padding-top: 0.5em;
}
input {
border:1px solid #CCC;
font: 12px Arial,Helvetica,sans-serif;
width: 160px;
}
</style>
</head>
<body>
<div class="box">
<div class="box">
<ol>
<li>
<label>
TEST 1.1
</label>
<input type="text" disabled="disabled" />
<input type="text"/>
<span></span>
<span></span>
</li>
<li>
<label>
TEST 1.2
</label>
<input/>
</li>
<li>
<label>
TEST 1.3
</label>
<input/>
</li>
</ol>
</div>
<div class="box">
<ol>
<li>
<label>
TEST 2.1
</label>
<input type="text" disabled="disabled" />
<input type="text"/>
<span></span>
<span></span>
</li>
<li>
<label>
TEST 2.2
</label>
<input/>
</li>
<li>
<label>
TEST 2.3
</label>
<input/>
</li>
</ol>
</div>
</div>
</body>
答案 0 :(得分:1)
为防止在将窗口调整为较小尺寸时错误放置内容,请使用min-width
。
这样,您可以扩展内容,但设置了最小宽度,这样您的内容就不会被“挤压”......
答案 1 :(得分:1)
同意@lvozor所说的,
你的标记就像这样:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Content with Menu</title>
<style type="text/css">
.box {
border: 1px solid #AAA;
border-radius: 4px;
padding: 10px;
margin-bottom: 20px;
display: -moz-inline-stack;
display: inline-block;
vertical-align: top;
zoom: 1;
*display: inline;
}
div.box ol li label {
font-size: 12px;
position: relative;
float: left;
width: 11em;
margin-right: 1em;
padding-top: 0.5em;
}
input {
border:1px solid #CCC;
font: 12px Arial,Helvetica,sans-serif;
width: 160px;
}
</style>
</head>
<body>
<div class="box" style="min-width:1024px;">
<div class="box">
<ol>
<li>
<label>
TEST 1.1
</label>
<input type="text" disabled="disabled" />
<input type="text"/>
<span></span>
<span></span>
</li>
<li>
<label>
TEST 1.2
</label>
<input/>
</li>
<li>
<label>
TEST 1.3
</label>
<input/>
</li>
</ol>
</div>
<div class="box">
<ol>
<li>
<label>
TEST 2.1
</label>
<input type="text" disabled="disabled" />
<input type="text"/>
<span></span>
<span></span>
</li>
<li>
<label>
TEST 2.2
</label>
<input/>
</li>
<li>
<label>
TEST 2.3
</label>
<input/>
</li>
</ol>
</div>
</div>
</body>
答案 2 :(得分:0)
使用React
和styled-components
。
渲染:
<StyledInput
value={value}
length={String(value).split('').filter(v => typeof +v === 'number').length}
/>
样式(使用rem
):
const StyledInput = styled.input`
width: ${p => `${p.length * 0.9}rem`}; // adjust the number accordingly
`;
样式(使用px
):
const StyledInput = styled.input`
width: ${p => `${p.length * 16}px`}; // adjust the number accordingly
`;