HTML中如何实现三个div的水平定位?
P粉419164700
P粉419164700 2023-08-21 19:20:03
[HTML讨论组]

我正在创建一个样本网站,其中有三个水平分区。 我希望最左边的分区宽度为25%,中间的分区宽度为50%,右边的分区宽度为25%,以便分区水平填满100%的空间。

<html>
    <title>
    网站标题
    </title>

    <div id="the whole thing" style="height:100%; width:100%" >

        <div id="leftThing" style="position: relative; width:25%; background-color:blue;">
            左侧菜单
        </div>

        <div id="content" style="position: relative; width:50%; background-color:green;">
            随机内容
        </div>

        <div id="rightThing" style="position: relative; width:25%; background-color:yellow;">
            右侧菜单
        </div>

    </div>
</html>

https://i.stack.imgur.com/NZDJe.jpg

当我执行这段代码时,divs会重叠显示。我希望它们并排显示!

我该怎么做?

P粉419164700
P粉419164700

全部回复(2)
P粉478445671

我知道这是一个非常老的问题。我在这里发布这个问题的解决方案,使用了FlexBox。下面是解决方案:

#container {
  height: 100%;
  width: 100%;
  display: flex;
}
#leftThing {
  width: 25%;
  background-color: blue;
}
#content {
  width: 50%;
  background-color: green;
}
#rightThing {
  width: 25%;
  background-color: yellow;
}
<div id="container">

  <div id="leftThing">
    左侧菜单
  </div>

  <div id="content">
    随机内容
  </div>

  <div id="rightThing">
    右侧菜单
  </div>

</div>

只需要在容器中添加display:flex!不需要使用浮动。

P粉842215006

我建议不要使用浮动来处理这种情况,我更倾向于使用inline-block

还有一些需要考虑的要点:

  • 内联样式对于可维护性来说不好
  • 选择器名称中不应该有空格
  • 你忽略了一些重要的HTML标签,比如<head><body>
  • 你没有包含doctype

这是一个更好的格式化文档的方式:

<!DOCTYPE html>
<html>
<head>
<title>网站标题</title>
<style type="text/css">
* {margin: 0; padding: 0;}
#container {height: 100%; width:100%; font-size: 0;}
#left, #middle, #right {display: inline-block; *display: inline; zoom: 1; vertical-align: top; font-size: 12px;}
#left {width: 25%; background: blue;}
#middle {width: 50%; background: green;}
#right {width: 25%; background: yellow;}
</style>
</head>
<body>
<div id="container">
    <div id="left">左侧菜单</div>
    <div id="middle">随机内容</div>
    <div id="right">右侧菜单</div>
</div>
</body>
</html>

这里还有一个jsFiddle供参考。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号