为何浏览器/Live Server会合并嵌套div?如何将search div右对齐?
问题修复:Div结构合并与右对齐实现
问题根源
- 未闭合HTML标签:
<select>标签缺少闭合标签</select>,浏览器自动补全DOM结构时会错误地将#search嵌套进#links,造成两个div合并的假象 - 重复ID冲突:表单设置的
id="search"与外层div的id="search"重复,违反HTML中ID必须唯一的规则
修复后的代码
HTML代码
<!DOCTYPE html> <html lang="en"> <head> <link rel="stylesheet" href="teht14.css" /> </head> <body> <div id="base"> <div id="links"> <a href="https://www.savonia.fi/">Savonia (linkki)</a> <select name="" id=""> <option value="">Valitse</option> <option value="">Ohjeet</option> <option value="">Yhteystiedot</option> </select> <!-- 补全闭合标签 --> </div> <div id="search"> <form method="get" id="search-form"> <!-- 修改表单ID避免重复 --> <input type="text" placeholder="Search"> <input type="submit" value="Search"> </form> </div> </div> </body> </html>
CSS代码
#base { display: flex; background-color: rgb(196, 196, 196); padding: 3em 2em; /* 调整左右内边距,避免内容贴边 */ justify-content: space-between; align-items: center; /* 垂直居中对齐内容 */ } a { text-decoration: none; }
效果说明
修复标签闭合和ID重复问题后,#links与#search会作为#base的独立子元素正常显示;配合CSS的flex布局和justify-content: space-between属性,#search会自动靠右对齐;新增的align-items: center可让两个div内的内容垂直居中,视觉效果更协调。
内容的提问来源于stack exchange,提问作者CODARIE
相关产品推荐
相关产品推荐

