如标题所述,我想找到一种CSS方法,使一个元素的宽度影响其父元素的宽度,但强制该父元素的其他子元素适应该宽度。
这是我正在使用的代码:
<div id="leftToolBar" class="toolbar">
<div id="canvasHolder"></div>
<div>
<a id="tool_pencil" onclick="setTool('pencil'); return false;" href="#" class="currentTool"><img src="images/pencil.png"/></a>
<a id="tool_paintbrush" onclick="setTool('paintbrush'); return false;" href="#"><img src="images/paint.png"/></a>
<a id="tool_floodfill" onclick="setTool('floodfill'); return false;" href="#"><img src="images/bucketfill.png"/></a>
<a onclick="transform('shiftleft'); return false;" href="#"><img src="images/left.png"/></a>
<a onclick="transform('shiftright'); return false;" href="#"><img src="images/right.png"/></a>
<a onclick="transform('shiftdown'); return false;" href="#"><img src="images/down.png"/></a>
<a onclick="transform('shiftup'); return false;" href="#"><img src="images/up.png"/></a>
<a onclick="transform('rotleft'); return false;" href="#"><img src="images/rotateleft.png"/></a>
<a onclick="transform('rotright'); return false;" href="#"><img src="images/rotateright.png"/></a>
<a onclick="transform('diagonal1'); return false;" href="#"><img src="images/dflip1.png"/></a>
<a onclick="transform('diagonal2'); return false;" href="#"><img src="images/dflip2.png"/></a>
<a onclick="transform('vflip'); return false;" href="#"><img src="images/vflip.png"/></a>
<a onclick="transform('hflip'); return false;" href="#"><img src="images/hflip.png"/></a>
<a onclick="toggleGrid(); return false;" href="#"><img src="images/grid.png"/></a>
</div>
</div>
这是相关的css(到目前为止):
.toolbar a{
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
line-height: 24px;
border-radius: 0.2em;
padding: 3px;
border: 1px solid #AAA;
}
.toolbar a.currentTool{
box-shadow:-1px -1px 1px 1px rgba(0,0,0,0.5) inset, 1px 1px 1px 1px rgba(255, 255, 255, 0.8) inset;
border: none;
}
#canvasHolder {
background-color: #a0a0a0;
border: 1px solid #777470;
}
#canvasHolder canvas{
border: 1px solid #666;
background: repeating-linear-gradient(
45deg,
#CCC,
#CCC 2px,
#CCC 4px,
#AAA 6px
);
display: inline-block;
vertical-align: center;
}
这当然不是我想要的。我希望“ canvasHolder” div确定该工具栏的大小超出某个最小值,并让其下面的div中的锚点填充下面的区域,但又不影响“ leftToolBar” div的宽度。
除了硬编码的“最大宽度”数字之外,我可以在此处应用CSS属性的某种组合吗?
<div id="leftToolBar" class="toolbar">
<div id="canvasHolder"></div>
<div>
<a class="currentTool"><img src="images/pencil.png"/></a>
<a><img src="images/paint.png"/></a>
<a><img src="images/bucketfill.png"/></a>
<a><img src="images/left.png"/></a>
<a><img src="images/right.png"/></a>
<a><img src="images/down.png"/></a>
<a><img src="images/up.png"/></a>
<a><img src="images/rotateleft.png"/></a>
<a><img src="images/rotateright.png"/></a>
<a><img src="images/dflip1.png"/></a>
<a><img src="images/dflip2.png"/></a>
<a><img src="images/vflip.png"/></a>
<a><img src="images/hflip.png"/></a>
<a><img src="images/grid.png"/></a>
</div>
</div>
<style>
.toolbar {
background-color: green;
width: min-content;
display: flex;
flex-wrap: wrap;
}
.toolbar a {
display: inline-block;
width: 20px;
height: 20px;
text-align: center;
line-height: 24px;
border-radius: 0.2em;
padding: 3px;
border: 1px solid #AAA;
}
.toolbar a.currentTool{
box-shadow:-1px -1px 1px 1px rgba(0,0,0,0.5) inset, 1px 1px 1px 1px rgba(255, 255, 255, 0.8) inset;
border: none;
}
#canvasHolder {
background-color: #a0a0a0;
border: 1px solid #777470;
width: 100px;
height: 150px;
}
</style>
这样可以完成您想要的吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句