一道关于给DIV按比例分配宽度的面试题

之前参加某公司的笔试的时候有这么一道题, 要求用CSS3的方式实现下列布局:


可以看得出来这里没有标明任何的宽度是多少, 但有一个值得注意的地方是蓝色块的宽度很明显是红色块宽度的两倍.

当时做这个题是还没有学习CSS3, 所以并不知道怎么做. 而经过最近的学习之后, 了解到了其实可以使用CSS3中的弹性伸缩布局来做, 具体的做法是:

(1) 结构:

(2) 样式:

只需要这么几行简单的代码就可以实现了, 代码具体的含义是: 给#box设置为flex布局, 然后给p1, p2, p3设置以父元素的宽度按照比例为1:1:2的方式分配宽度, 也就是p1和p2宽度为150px, p3的宽度为300px. 而且即便改变了box的宽度之后, p1, p2, p3的宽度比例还是一样, 如果要用传统的css1或css2要实现这种效果就稍显麻烦, 还要涉及计算.


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值