CSS奇遇 -- flex和white-space:nowrap的相爱相杀

需求:使用flex布局,超出部分想使用点点点显示

一、方法1使用min-width:0

效果:

HTML代码如下:

<div class="team-body">
    <div class="team-item">
        <div class="team-item-header">
            <div class="team-item-thumb">
                <img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1540468647594&di=8b2c0e34df2c77a1c738f2a954cf53ac&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20170921%2F596fd75d547e4de085041fe027afcb0d.jpeg"/>
            </div>
            <div class="team-item-content">
                <h3 class="team-name">景龙社区老年协会景龙社区老年协会</h3>
                <p class="team-slogan">舞动青春,展示风采景景龙社区老年协会</p>
                <p class="team-talent-type">唱歌、跳舞、太极拳、广场舞景龙社区老年协会</p>
            </div>
            <div class="team-item-extra">
                <p class="team-join-number">已加入人数:1070人</p>
                <p class="team-remaining-number">空缺人数:107人</p>
            </div>
        </div>
        <div class="team-item-bottom">
            <div class="team-item-leader">
                <div class="team-leader-badge">团长</div>
                <div class="team-leader-name">陈雪娇防守打法</div>
                <div class="team-leader-phone">13788827576</div>
            </div>
            <div class="team-item-botton-wrap">
                <a href="./viewmember.html">查看成员</a>
                <a href="javascript:void(0)" onclick="joinTeam(1)">加入团队</a>
            </div>
        </div>
    </div>
</div>

关键的CSS代码:整个头部设置为display:flex,两端的宽度固定,中间设置为flex:1,同时设置min-width:0

.team-container .team-body .team-item .team-item-header {
  height: 3.456rem;
  display: flex;
  align-items: center;
  position: relative;
}
.team-container .team-body .team-item .team-item-header .team-item-content {
  flex: 1;
  color: #AAAAAA;
  min-width: 0;
}

 二、第二种方式,代码如下,关键代码是.content中的的两行代码。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
        <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0" />
        <title>测试</title>
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
            .wraper{
                display: flex;
            }
            .wraper .content{
                flex: 1;
                display: flex;
                overflow: hidden;
            }
            .wraper .content p{
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                font-size: 20px;
            }
        </style>
    </head>
    <body>
        <div class="wraper">
            <div class="content">
                <p>地坛离我家很近。或者说我家离地坛很近。总之,只好认为这是缘分。地坛在我出生前四百多年就座落在那儿了,而自从我的祖母年轻时带着我父亲来到北京,就一直住在离它不远的地方</p>
            </div>
        </div>
    </body>
</html>

转载[http://www.cnblogs.com/llcdxh/p/9869876.html]

原文地址:https://www.cnblogs.com/codesyofo/p/10821320.html

时间: 2024-10-11 03:37:06

CSS奇遇 -- flex和white-space:nowrap的相爱相杀的相关文章

详解CSS的Flex布局

本文由云+社区发表 Flex是Flexible Box 的缩写,意为"弹性布局",是CSS3的一种布局模式.通过Flex布局,可以很优雅地解决很多CSS布局的问题.下面会分别介绍容器的6个属性和项目的6个属性.每个属性会附上效果图,具体实现代码会以github路径形式更新于此. 1.浏览器支持情况 可以点击查看各浏览器的兼容情况 2.容器的属性 注意,设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效. 容器的属性有6个,分别是: flex

Java文法(3)—— White Space

------------------------------------------------------------------------------- 说明: White space is defined as the ASCII space character, horizontal tab character, form feed character, and line terminator characters (§3.4). ---------------------------

dom4j解析xml报错:Nested exception: org.xml.sax.SAXParseException: White space is required between the processing instruction target and data.

采用dom4j方式解析string类型的xml xml:        String string="<?xmlversion=\"1.0\" encoding=\"UTF-8\"?><ROOT><HEAD><INFO><BUSINESSNO>T065205072015000097</BUSINESSNO><BUSINESSTYPE>T</BUSINESSTYPE&g

CSS之Flex 布局

Flex 布局教程:语法篇 网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. Flex 布局将成为未来布局的首选方案.本文介绍它的语法,下一篇文章

css display:flex布局介绍

定义容器的display属性 .box{ display: -webkit-flex; /*webkit*/ display: flex; } /*行内flex*/ .box{ display: -webkit-inline-flex; /*webkit*/ display:inline-flex; } 容器样式 .box{ flex-direction: row | row-reverse | column | column-reverse; /*主轴方向:左到右(默认) | 右到左 | 上到

CSS 之flex 弹性盒布局

flex 是flexible box的缩写,意思是"弹性布局",用来为盒状模型提供最大的灵活性.任何一个容器都可以设置为flex 布局,但是,设置为flex 布局后,子元素的 float .clear .和vertical-align 属性将失效. 设置了 flex 属性的元素称为容器,它的所有子元素会成为容器的成员,也就是项目. flex 容器可以设置6个属性,分别是:flex-direction .flex-wrap .justify-content .align-items .a

css中flex布局

一.Flex布局是什么? Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局. .box{ display: flex; } 行内元素也可以使用Flex布局. .box{ display: inline-flex; } Webkit内核的浏览器,必须加上-webkit前缀. .box{ display: -webkit-flex; /* Safari */ display: flex; } 注意,设为Fle

CSS之flex兼容

随着自己写过的页面的增多,也遇到了很多CSS兼容性的问题.这些兼容性问题,都是必然的,因为技术在不断进步,不断革新,所谓,“后浪推前浪,前浪拍死在沙滩上”,当然我们的技术不能是被拍死在沙滩上,我们还要支持,不支持的话,只能是你这个页面,这个产品被淘汰. 那么为了不被淘汰,我们就要做些兼容性处理. 我写页面的时候用到过很多的flex布局,觉得非常好用.下面附上一篇不错的flex布局介绍的文章. Flex 布局教程想了解的可以自己去看看这篇博文,或者自己百度,这里先部多做介绍,我们主要来说一说fle

CSS display:flex的示例

在编写下图类似的HTML时,我最初使用的float,发现浮动的写法很不方便,后面经百度改用display:flex进行布局,并对这一CSS属性产生了浓厚的兴趣. 通过几行代码轻松解决了左右对齐显示,并且意外发现通过 align-items: center 还可以实现上下对齐居中 我正在使用 styled-components 去实现前端效果,所以代码分为样式部分style.js和页面部分index.js style.js: 1 export const Legend = styled.div`