zoukankan      html  css  js  c++  java
  • css 左右两栏 左边固定右边自适应

    两个div并排,左边为绝对宽度,右边为相对宽度,这个问题,我也经常遇到,我一般的处理方法是将最大的容器padding-left固定宽度,左边的固定宽度的一块position:absolute,然后right的一块width为百分百

    今天学习到人家有三种解决方法,转载过来

       两个div并排,很容易实现。如何让左边的div为固定宽度,右边的div为相对宽度呢?需要用到这种布局的情况比较多见,如左边为导航,右边为内容的页面。暂时想到了两种实现办法。

    方法一
    ,使用position:absolute。代码如下。
    <style>
    body{ margin:0; height:100%}
    html{ height:100%} /*兼容firefox的div高度100%*/
    #left{ position:absolute; top:0; left:0; 200px; height:100%; background-color:#CCCCCC}
    #right{ margin-left:200px; height:100%; background-color:#0099FF}
    </style>
    <div id="left">left</div>
    <div id="right">right</div>

    这段代码主要涉及到以下两点点比较重要的:
    (1)兼容firefox实现div高度100%;
    (2)div绝对定位的妙用;在页面布局的时候,position:absolute如果灵活的应用,可以达到很好的效果。


    方法二 使用float解决div左右布局,左为绝对宽度,右为相对宽度问题
    <style type="text/css">
    body{ margin:0; height:100% }
    html{ height:100% }
    #left{ 150px; height:100%; float:left; _margin-right:-3px; background-color: yellow }
    #main{ height:100%; background-color: green }
    </style>

    <div id="left"></div>
    <div id="main"></div>



    方法三,代码如下。方法二可能没有按照题目要求,但是可以达到一样的页面效果。主要是使用了div的float属性。
    <style>
    body{ margin:0; height:100%}
    html{ height:100%} /*兼容firefox的div高度100%*/
    #left{ 200px; height:100%; background-color:#CCCCCC; float:left}
    #main{ 100%; height:100%; background-color:#0099FF}
    </style>
    <div id="main">
    <div id="left">left</div>
    Right
    </div>

  • 相关阅读:
    组件中的data为什么不是一个对象而是一个函数?
    v-if v-show 的区别 以及使用的场景
    前后端数据交互的方式有哪些?
    服务端渲染客户端渲染的区别
    按下www.baidu.com发生什么
    php-语言参考-类型3.2-未完待续
    php-安装与配置-未完待续2
    PHP-入门指引1
    php扩展开发-INI配置
    php扩展开发-全局变量
  • 原文地址:https://www.cnblogs.com/myssh/p/2513656.html
Copyright © 2011-2022 走看看