4
爲什麼不把這兩個<input>
元素的寬度設置爲其父級的20%,即#right
的20%,這本身只應該是菜單的右側部分(而不是完整的瀏覽器寬度)?頂部菜單左,中,右分區
* { margin:0; padding: 0; }
#menu { background-color: yellow; }
#left {background-color: green; float: left; width: 200px; }
#mid { background-color: red; float: left; width: 40%; }
#right {background-color: blue; width: calc(100%-40%-200px);}
#a1, #a2 { width: 20%; }
<div id="menu">
<div id="left">left green: 200px</div>
<div id="mid">mid red: 40% of browser width</div>
<div id="right">
<input id="a1" />
<input id="a2" />
</div>
</div>
<div>
content of the site
</div>
注:似乎#right採用全瀏覽器的寬度,而它應該有100%的寬度 - 40% - 200像素。然後,這20%將是12%-40px,即我可以設置#a1, #a2 { width: calc(12%-40px); }
。但這將是一個骯髒的黑客。我真的想根據它的父寬度來設置#a1和#a2的寬度。
是的,但即使這樣,#right不留右上角位置,j在#mid之後。爲什麼?由於#left和#mid有'float:left',#right應該出現在同一行上... – Basj