外层用div包裹,里面是<p>,宽度都是auto,我想要的效果是,当缩小窗口是,绿色背景的<p>不动,超出的部分隐藏,请问下,这个该怎样实现?谢谢
我现在做的是移动端,各个宽度自适应,1、2的内容不固定,所以宽度设的auto,想实现如图的效果,2里的内容overflow:hidden;但是不要让2挤到下面去
外层用div包裹,里面是<p>,宽度都是auto,我想要的效果是,当缩小窗口是,绿色背景的<p>不动,超出的部分隐藏,请问下,这个该怎样实现?谢谢
我现在做的是移动端,各个宽度自适应,1、2的内容不固定,所以宽度设的auto,想实现如图的效果,2里的内容overflow:hidden;但是不要让2挤到下面去
教你一个很简单的方法吧,先设一个宽度为100%的盒子,盒子内部再有一个宽度很大的盒子像这样:
<div class="body" style="width:100%">
<div class="box" style="width:10000px;">
</div>
</div>
然后让外部的盒子overflow为hide,内部的盒子就是一个很长的盒子,然后就可以写代码了
<html>
<head>
<meta charset="utf-8">
<style>
.body {width: 100%;overflow: hidden;color: #fff}
.box { width: 10000px;height: 30px;overflow: hidden;}
.tag {background: green;}
.text {background: red;margin-left:20px;}
</style>
</head>
<body>
<div class="body">
<div class="box">
<span class="tag">不固定的小标签</span>
<span class="text">不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本不固定的文本</span>
</div>
</div>
</body>
</html>
效果就是这样的:
给div一个min-width:
div {
min-width: 400px;
}
p {
width: auto;//假设这段字的宽度为300px
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;//超出部分用省略号表示
}
这样当窗口缩放到300px宽的时候div就不会再缩小了
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.2k 阅读
3 回答2.1k 阅读
是用于移动端,而且两部分文字都是单行的话,这里用
flex
弹性盒比较合适。参考代码:对应效果是:
其中的要点是,
part-2
加上flex: 1;
以利用剩余空间,同时overflow: hidden;
做截断。white-space: nowrap;
以保证文字不换行。这里只写了最新的flex代码,建议实际使用时再增加一些旧版flex的兼容代码。