flex左右布局 左边固定 右侧自适应

flex左右布局

左边固定 右侧自适应

想要保证自适应内容不超出容器怎么办。
通过为自适应的一侧设置width: 0;或者overflow: hidden;解决。

首先实现标题的布局,也很简单:

<div class="item">
    <div class="l">LEFT</div>
    <div class="r">
        <div class="title">OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG</div>
        <div class="content">
            RIGHT FULL
        </div>
    </div>
</div>
.item {
    display: flex;
}
.item .l {
    width: 240px;
    min-width: 240px;
    background-color: #ff5f00;
}
.item .r {
    background-color: mediumseagreen;
    flex-grow: 1;
    padding: 20px;
}
.item .r .content {
    width: 100%;
    word-break: break-all;
}
.item .r .title {
    font-weight: bolder;
    font-size: 1.4em;
    width: 100%;
    /*overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;*/
}
let str = '';
for (var i = 0; i < 1000; i++) {
    str += ('' + Math.random().toString().substr(2, 5));
}
document.querySelector('body > div.item > div.r > div.content').innerHTML = str;

预览发现基本符合预期:

这时如果想要标题不换行,超出省略号;将CSS中注释的代码取消注释,会发现,内容将容器撑开,出现了横向滚动条,这不是我们想要的。

要解决这个问题,可以:

.item .r {
    background-color: mediumseagreen;
    flex-grow: 1;
    padding: 20px;
    /*增加一个*/
    width: 0;
}

或者:

item .r {
    background-color: mediumseagreen;
    flex-grow: 1;
    padding: 20px;
    /*增加一个*/
    overflow: hidden;
}

也可以达到预期。

The end...Last updated by Jehorn, 2:55 PM, Thursday, May 9, 2019

原文地址:https://www.cnblogs.com/jehorn/p/10838482.html

时间: 2024-12-27 15:14:48

flex左右布局 左边固定 右侧自适应的相关文章

双栏布局 左边固定右边自适应

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h

CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下网站源码方法: 一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div class="box-left">        <a href="" targ

俩列布局(左边固定,右边自适应),等高布局,最小高度

俩列布局(左边固定,右边自适应): 1. <!DOCTYPE html> <html> <head> <title>俩列布局</title> <meta charset="utf-8"> <style type="text/css"> *{         margin: 0;         padding: 0;     } #left {         float: left

CSS 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题

一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div>        <a href="" target="_blank">我是龙恩</a>    </div> <div>        <a href="" target="_blank">

解决左边固定右边自适应宽度的方案

上一篇文章中有提及过很多web前端开发者用float+margin+position:absolute来实现表单内容的左边文字固定右边的输入框自适应宽度的问题,当然,这个问题我也在百度中搜索过,基本搜索出来的答案都是这样描述的,我也在上一篇文章中提出过浮动和绝对定位属于脱离文档流布局,是会损耗性能的,但是百度中却没有给出我所想表达出的解决方案,所以不得不在此将该方案具体的描述清楚. 首先,我需要介绍的是display:box这个属性,它是今天弹性布局的主角,虽然它有个更加强大的弟弟display

flex布局左边固定,右边自适应,右边内容超出会影响布局

左侧宽度固定,右侧自适应 1 .left-div{ 2 width: 200px; 3 } 4 .right-div{ 5 flex: 1; 6 } 右边内容超出的话,就会导致左边固定的宽度大小不起重要了,这时只需要加上min-width: 0;就可以了 .right-div{ flex: 1; min-width: 0; } 至于为什么,愣是看不懂.... 原文地址:https://www.cnblogs.com/jonie-wong/p/11671210.html

div css左边固定右边自适应布局

web前端开发之布局:先看效果图,最简单的左右布局.有可能还会被面试问道哈哈哈.一看也没什么特别之处,就是左边固定,右边自适应,就这么简单. 原理:通过设置一个margin-left;或者margin-right就可以搞定.方法有很多,这次就只介绍这种设置margin的. 代码: <!doctype html> <html>  <head>   <meta charset="UTF-8">   <title>Document&

css之两栏布局左侧固定右侧高度自适应

css两栏布局之左侧固定右侧高度自适应 先看这样的html+css结构: .main { width: 900px; overflow:hidden; margin: 0 auto; border:1px solid #000; } .left { width: 600px; float:left; background: #ccb; } .right { float:left; width: 300px; background: #acf; } <div class="main"

实现左侧固定右侧自适应的两列布局显示效果

实现该方法有很多种,我来介绍一下几种比较常见的实现效果: 第一种方案(利用固定定位的方式显示效果): <style> *{ padding:0; margin:0; } .left-menu, .content{ position:fixed; top:0; left:200px; width:100%; height:100%; background:red; color:#fff; } .left-menu{ width:200px; left:0; background:green; }