You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现两个指定ID的Div并排显示且内部<b>位于Input上方?

没问题,我来帮你搞定这个布局~

首先看你给出的示例代码,有两个小问题导致没法达到预期:

  1. 两个div都加了clear:both,这个属性会让元素强制换行,自然没法并排
  2. <b>和<input>默认都是行内/行内块元素,会挤在同一行,没法实现在input上方的效果

我给你调整了两种可行的方案,选你习惯的就行:

方案1:浮动布局(兼容旧浏览器)

<div style="overflow: hidden;"> <!-- 清除浮动,避免父元素高度塌陷 -->
  <div id="1" style="float: left;">
    <b style="color: #444444; display: block;">Date</b> <!-- 让b独占一行 -->
    <input class="duedatetextbox" type="text" placeholder="Enter date" tabindex="101">
  </div>
  <div id="2" style="float: left; padding-left: 80px;">
    <b style="color: #444444; display: block;">Time</b>
    <input class="duedatetextbox" type="text" placeholder="Enter time" tabindex="102">
  </div>
</div>
  • 去掉了第二个div的clear:both,保留float:left,这样两个div就能横向排列
  • 给<b>加了display:block,让它独占一行,自然就位于input上方
  • 外层div的overflow:hidden是用来清除浮动的,防止父元素因为子元素浮动而高度为0

方案2:Flex布局(更现代简洁,推荐)

<div style="display: flex; gap: 80px;"> <!-- flex让子元素横向排列,gap控制间距 -->
  <div id="1">
    <b style="color: #444444; display: block;">Date</b>
    <input class="duedatetextbox" type="text" placeholder="Enter date" tabindex="101">
  </div>
  <div id="2">
    <b style="color: #444444; display: block;">Time</b>
    <input class="duedatetextbox" type="text" placeholder="Enter time" tabindex="102">
  </div>
</div>
  • 外层div用display:flex,直接实现子元素横向排列,不用折腾浮动
  • gap:80px用来设置两个div之间的间距,比给第二个div加padding-left更灵活
  • 同样给<b>加display:block确保它在input上方

如果不需要兼容IE10及以下的老旧浏览器,优先用flex布局,代码更干净,也不容易出现浮动带来的奇怪问题~

内容的提问来源于stack exchange,提问作者vheelique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:31:14