左定宽右自适应宽度并且等高布局

要求:

  • 左列定宽,右列自适应;
  • 左右两列等高且自适应;
  • 右列优先渲染;

对于第一点很好实现,实现的方法也不唯一。
对于实现两列等高,则需要实现最小高度的设置。如下:

min-height: 200px; 
height: auto !important; 
height: 200px;

对于实现右列先渲染,在HTML代码中将右列写前边,然后给左列margin-left属性一个适当值即可。

好啦~废话不多说了,接下来一起来动手实践吧。

首先,建立框架,加入两栏

<div id="container">
    <div id="right">我在右边,自适应布局</div> //写在左列前边,实现右列优先渲染。
    <div id="left">我在左边,定宽</div>
</div>
#right{
    width: 100%;
    background-color:red;
}

#left{
    background-color:green;
    width: 200px;
}

#left, #right{
    min-height: 200px;
    height: auto !important;
    height: 200px;
}

效果图如下:

第一步

接着将左列放上去

#right{
    float:left;
}

#left{
    float: left;
    margin-left: -100%;
}

效果图如下:

第二步

我们看到右列的部分内容被左列覆盖掉了。

所以,接下来需要让被覆盖的内容显现出来

#container{
    margin-left: 200px;
    position: relative;
}

#left{
    position: relative;
    left: -200px;
}

这里的主要思想是,设置container容器的margin-left值为左列的宽度,在相对定位的情况下,把左列的left属性的值设为其宽度即可。
效果图如下:

第三步

好啦~到此为止所有的要求都已经实现了~(高度自适应未实现,可以参考如何实现多列等高布局?

参考资料:
https://www.w3cplus.com/css/two-cloumn-width-one-fixed-width-one-fluid-width

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,840评论 1 92
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,238评论 3 30
  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 9,720评论 0 8
  • 左列定宽,右列自适应 该布局方式非常常见,适用于定宽的一侧常为导航,自适应的一侧为内容的布局 1、利用float+...
    小翼_b998阅读 882评论 0 0
  • 是夜,沉心静坐。感秋寒料峭,听秋声远播。经年交替,四季轮回,又看到了落叶飘零、万物萧瑟。想人生不过百年,在浩瀚宇宙...
    思想树阅读 479评论 0 48