另一种简单方法实现中间宽度自适应,请问这种写法合适吗?

另一种简单方法实现中间宽度自适应,请问这种写法合适吗?

如题,无意中发现了这种方法,就是不给mid设置宽度,只把left和right进行浮动,可以达到和双飞翼圣杯布局同样的效果,想问老师这种写法是否有别的问题,谢谢

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{

margin: 0;

padding: 0;

}

.left{

width: 200px;

height: 200px;

position: absolute;

top: 0;

left: 0;

background-color: red;

}

.right{

width: 200px;

height: 200px;

position: absolute;

top: 0;

right: 0;

background-color: green;

}

.mid{

height: 200px;

background-color: yellow;

margin: 0 200px 0 200px;

}

</style>

</head>

<body>

<div class="box">

<div class="left">左侧固定200px</div>

<div class="mid">中间宽度自适应</div>

<div class="right">右侧固定200px</div>

</div>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

你好,代码具有灵活性,实现效果的方法不唯一,这里兼容性是没有问题的,渲染优先级的话调整下位置也是可以的,不过,在不同的设备下,分辨率会有点影响,你可以尝试缩小下窗口看下效果。

祝学习愉快~

  • 夜sama 提问者 #1
    谢谢老师
    2017-12-03 14:04:13
一路电光带火花 2017-11-30 16:20:05

按照代码由上而下执行,应该会先渲染左边了吧,这个方法的确简单,但是本质不一样,就不叫圣杯布局或者双飞翼这种布局了吧,

  • 提问者 夜sama #1
    把.mid写在left 和right的前面就行了,效果不变。而且说到底 "圣杯布局和双飞翼布局解决的问题是一样的,就是两边顶宽,中间自适应的三栏布局,中间栏要在放在文档流前面以优先渲染。” 我只是提出一种效果相同的写法,并且想知道兼容性和渲染的优先级是否一样
    2017-11-30 16:25:51
一路电光带火花 2017-11-30 15:47:22

虽然实现效果看起来一致,但是不符合圣杯布局或者双飞翼的规范吧

  • 提问者 夜sama #1
    是的,所以很好奇它的兼容性如何,以及能否优先渲染mid的内容 毕竟在写法上来说比圣杯和双飞翼简单多了
    2017-11-30 15:57:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师