CSS布局之品字布局_html/css_WEB-ITnose

最近有同学面试被问到关于品字布局的问题。虽然我觉得这种布局确实比较难看,应该也不会用到,但是既然有人问到,我还是自己尝试写了一下品字布局。其实很简单。

先看效果:

第一种:

第二种:

立即学习“前端免费学习笔记(深入)”;

第一种:

其实实现方法很简单,基本思路:

(1)三块高宽是确定的;

(2)上面那块用margin: 0 auto;居中;

(3)下面两块用float或者inline-block不换行;

(4)用margin调整位置使他们居中。

inline方法代码如下:

  1. nbsp;html>                             *{ margin: 0; border: 0; } .d1, .d2, .d3{ height: 100px; width: 100px; background-color: #FF0000; border: solid 1px #000000; } .d1{ margin: 0 auto; } .d3{ display: inline-block; margin-left: -200px; } .d2{ display: inline-block; margin-left: 50%; }             
        

登录后复制

这里首先用margin-left: 50%,让下面两块的左侧到中间位置。然后再对右下角那块用margin-left,值是负的两倍宽度。就可以把它移动到左下角。因此第二个div是右下的,第三个是左下的,需要换一下。

还有一个小技巧,使用inline-block会有小的间隙,可以使用去除inline-block元素间间距的N种方法来解决。

float方式:

  1. nbsp;html>                             *{ margin: 0; border: 0; } .d1, .d2, .d3{ height: 100px; width: 100px; background-color: #FF0000; border: solid 1px #000000; } .d1{ margin: 0 auto; } .d3{ float: left; margin-left: -200px; } .d2{ float: left; margin-left: 50%; }             
            
            
        

登录后复制

和inline-block方式大同小异,就不再赘述。

还有全屏的品字布局,就更加简单,基本思路是上面的div宽100%,下面的两个div分别宽50%,然后用float或者inline使其不换行即可。

这里贴出一种方法:

  1. nbsp;html>                             *{ margin: 0; border: 0; } .d1, .d2, .d3{ height: 300px; } .d1{ width: 100%; height: 300px; background-color: #FF0000; } .d3{ float: left; width: 50%; background-color: #0099FF; } .d2{ float: left; width: 50%; background-color: #4eff00; }             
            
            
        

登录后复制

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    html中DTD使用小结_html/css_WEB-ITnose

    2025-3-29 8:33:27

    编程技术

    div+css的前端工程师的价值体现在哪些方面?_html/css_WEB-ITnose

    2025-3-29 8:33:34

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索