答案是b。html中标签实现左右分割需使用cols属性,如cols="30%,70%";rows用于上下分割,与题干“左右显示”不符。

rows 属性不用于水平分割,它只做垂直(上下)分割;水平分割必须用 cols。 这是初学者最常踩的坑——看到“行”就以为是横向切分,其实 HTML 里 rows 指的是浏览器窗口从上到下的“行”,所以是上下布局。
为什么 rows="50%,50%" 是上下两个框,不是左右?
HTML 的 frameset 中,“行”(row)对应文档流的纵向排列方向:第一行在顶部,第二行紧贴其下。所以 rows="50%,50%" 生成的是两个上下堆叠的框架,各占一半高度。
- 想左右并排?必须用
cols="50%,50%" -
rows和cols互斥:一个frameset只能指定其中一种 - 浏览器解析时,遇到
rows就忽略cols(反之亦然),不会报错但行为不可控
rows 属性值怎么写才有效?
rows 值是逗号分隔的字符串,每个片段定义一行的高度,支持三种单位:
-
"100"或"100px":固定像素高度(推荐用于顶部导航栏等需精确控制的部分) -
"30%":占可用高度的百分比(注意:所有百分比加起来不能超 100%,否则行为未定义) -
"*":分配剩余空间(可多次出现,如"*,*,*"表示三等分;"100,*,200"表示首行 100px、末行 200px、中间填满)
错误示例:rows="100,*,"(末尾多余逗号)会导致部分浏览器忽略整个属性。
嵌套 frameset 时 rows 怎么配合 cols 使用?
单个 frameset 不能同时设 rows 和 cols,但可以嵌套:
<frameset rows="15%,85%"> <frame src="header.html"> <frameset cols="20%,80%"> <frame src="nav.html"> <frame src="main.html"> </frameset> </frameset>
这里外层 rows 控制上下结构(头部 + 主体),内层 cols 在主体区域做左右分割。注意:嵌套层级越深,维护成本越高,且现代浏览器已废弃 frameset 支持。
真正要警惕的是:HTML5 已彻底移除 frameset 和 frame 标签,所有主流浏览器仅保留向后兼容解析,不保证渲染一致性。如果项目还需支持旧后台系统,务必确认目标环境浏览器版本;新项目请直接用 iframe + CSS Grid/Flex 布局替代。











