相关疑难解决方法(0)

CSS文本溢出:省略号; 不工作?

我不知道为什么这个简单的CSS不起作用......

.app a {
  height: 18px;
  width: 140px;
  padding: 0;
  overflow: hidden;
  position: relative;
  margin: 0 5px 0 5px;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #000;
}
Run Code Online (Sandbox Code Playgroud)
<div class="app">
  <a href="">Test Test Test Test Test Test</a>
</div>
Run Code Online (Sandbox Code Playgroud)

应该在4号"测试"周围切断

css overflow ellipsis css3

332
推荐指数
10
解决办法
28万
查看次数

滚动带有溢出内容的Flexbox

在此输入图像描述

这是我用来实现上述布局的代码:

.header {
  height: 50px;
}

.body {
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
}

.sidebar {
  width: 140px;
}

.main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content {
  flex: 1;
  display: flex;
}

.column {
  padding: 20px;
  border-right: 1px solid #999;
}
Run Code Online (Sandbox Code Playgroud)
<div class="header">Main header</div>
<div class="body">
  <div class="sidebar">Sidebar</div>

  <div class="main">
    <div class="page-header">Page Header. Content columns are below.</div>
    <div class="content">
      <div class="column">Column 1</div>
      <div class="column">Column 1</div>
      <div class="column">Column …
Run Code Online (Sandbox Code Playgroud)

css layout css3 multiple-columns flexbox

183
推荐指数
9
解决办法
24万
查看次数

防止内容扩展网格项

TL; DR:table-layout: fixed CSS网格有什么相似之处吗?


我尝试创建一个带有大型4x3网格的年视图日历,其中包含7x6网格.

日历应填充页面,因此年份网格容器的宽度和高度均为100%.

.year-grid {
  width: 100%;
  height: 100%;

  display: grid;
  grid-template: repeat(3, 1fr) / repeat(4, 1fr);
}

.month-grid {
  display: grid;
  grid-template: repeat(6, 1fr) / repeat(7, 1fr);
}
Run Code Online (Sandbox Code Playgroud)

这是一个有效的例子:https://codepen.io/loilo/full/ryXLpO/

为简单起见,该笔每个月都有31天,周一开始.

我还选择了一个可笑的小字体来演示这个问题:

网格项(=日单元格)非常精简,因为页面上有数百个.一旦日期数字标签变得太大(可以使用左上方的按钮随意使用笔中的字体大小),网格的大小将会增大并超过页面的主体大小.

有什么方法可以防止这种行为吗?

我最初声明我的年度网格在宽度和高度上都是100%,所以这可能是重要的一点,但我找不到任何符合网格的CSS属性.

免责声明:我知道有很简单的方法可以在不使用CSS Grid Layout的情况下设置日历的样式.然而,这个问题更多的是关于该主题的一般知识而不是解决具体的例子.

css css3 grid-layout css-grid

113
推荐指数
3
解决办法
6万
查看次数

如何防止flex项目因文本而溢出?

我有一个列表的以下布局.每个列表项由两列表示.第二列应占用所有可用空间,但如果第一列占用太多空间,则应以最小大小固定在右侧.然后第一列应显示省略号.

问题出现在最后一个案例中.当第一列包含太多文本而不是显示省略号时,它会将自身伸展到弹性框之外,从而导致出现水平滚动条,而第二列不会固定在右侧.

我希望它像这样呈现(模型):

预期渲染

我怎样才能做到这一点?

这是 样本小提琴.

.container {
    display: -webkit-flex;
}

div {
    white-space: nowrap;
    text-overflow: ellipsis;
}

.container > div:last-child {
    -webkit-flex: 1;
    background: red;
}
Run Code Online (Sandbox Code Playgroud)
<!-- a small first column; the second column is taking up space as expected -->
<div class="container">
    <div>foo barfoo bar</div>
    <div>foo bar</div>
</div>

<!-- a large first column; the first column is overflowing out of the flexbox container -->
<div class="container">
    <div>foo barfoo barfoo barfoo barfoo barfoo barfoo bar
    foo barfoo barfoo …
Run Code Online (Sandbox Code Playgroud)

css google-chrome css3 flexbox

68
推荐指数
2
解决办法
7万
查看次数

Flexbox代码适用于除Safari之外的所有浏览器.为什么?

带有列表标签的网格列,我需要每3列以正确的顺序显示,并为每个额外的HTML列表元素启用自动宽度.

这是我的例子:

 <style>
        ul {
            margin: 0;
            padding: 0;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            height: 150px;
            width:auto;
        }
    
        li {
            float: left;
            display: inline-block;
            list-style: none;
            position: relative;
            height: 50px;
            width: 50px;
        }
    </style>
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
    <li>10</li>
    <li>11</li>
    <li>12</li>
    </ul>
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止已经试过,除非我补充这个工作在其他浏览器绝对不错,但与Safari浏览器不兼容:display: -webkit-flex;.

我想像这样转换输出:

1 4 7 10
2 5 8 11
3 6 9 12
Run Code Online (Sandbox Code Playgroud)

重要的是我到目前为止我的Safari浏览器工作,我似乎无法解决这个问题,我会适当的任何帮助:)

测试链接:

http://jsfiddle.net/rafcastro77/3zd7yspg/59/

html css css3 flexbox

65
推荐指数
2
解决办法
7万
查看次数

CSS Flexbox问题:为什么我的flexchildren的宽度受其内容的影响?

我的flexbox的两个孩子每个都有一个风格box-flex: 1.我的理解是它们的宽度应该彼此相等(两者都占其父Flexbox总宽度的50%).但是当内容添加到子节点时,它们的宽度会发生变化(取决于内容和填充内容)!为什么会这样?

CSS:

.hasFlex {
   display: box;
   display: -webkit-box;
   display: -moz-box;
   -webkit-box-align: start;
   -moz-box-align: start;
   box-align: start;}
.box0 {
   -webkit-box-flex: 0;
   -moz-box-flex: 0;
   box-flex: 0;}
.box1 {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  box-flex: 1;}
.box2 {
   -webkit-box-flex: 2;
   -moz-box-flex: 2;
   box-flex: 2;}
.box3 {
   -webkit-box-flex: 3;
   -moz-box-flex: 3;
   box-flex: 3;}
.container {
margin-bottom: 10px;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="container hasFlex">
<div id="main" role="main" class="box1">
    <div class="innerBG">
      a bunch of stuff (divs, text, etc) go here
    </div> …
Run Code Online (Sandbox Code Playgroud)

html css css3 flexbox

52
推荐指数
1
解决办法
5万
查看次数

white-space:nowrap打破了flexbox布局

我使用Flexbox为应用程序创建了响应式布局.布局要求左侧是可折叠菜单,中间是一个带有标题和正文的块,右侧是可切换的帮助窗格(还有更多内容,但这是基本结构).

左侧菜单有两种状态:180px宽或80px宽.帮助窗格隐藏或占用180px.中间的盒子占据了剩下的空间.Flexbox就像一个魅力.

当我使用滚动div时,麻烦就开始了white-space: nowrap.我有一堆需要在水平滚动条中显示的项目,所以我有一个列表div与项目,设置为overflow:autowhite-space: nowrap.

通常这就像一个魅力,但现在它打破了我的flex布局.滚动器不会占用父(flex)div的宽度,而是使div更宽,从而将帮助窗格推出界限.


以下小提琴说明了这个问题:

http://jsfiddle.net/PieBie/6y291fud/

您可以通过单击菜单栏中的切换帮助切换帮助窗格.通过单击菜单中的列表空白切换来重新创建问题,这将切换white-space: no-wrap列表的CSS属性.如果帮助窗格已打开,您可以看到它被推出界限.

底部列表是我想要实现的,但我希望它是其父级的全宽.

我可以在Chrome,Firefox,Opera,Vivaldi和Edge中重现这个问题.Internet Explorer 11播放效果很好(°_°).我更喜欢纯CSS解决方案(SCSS也是一个选项),但如果需要,我可以使用JS.


$('#nav-toggle').on('click',function(){
	$(this).parent().toggleClass('collapsed');
});
$('#help-toggle').on('click',function(){
	$('#help-pane').toggleClass('visible');
});
$('#list-toggle').on('click',function(){
	$('#list').toggleClass('nowrap');
});
Run Code Online (Sandbox Code Playgroud)
body,html{width:100%;height:100%;overflow:hidden;}

#body{
  display:flex;
  flex-flow:row nowrap;
  position:absolute;
  top:0;
  left:0;
  margin:0;
  padding:0;
  width:100%;
  height:100%;
  background-color:#abc;
  overflow:hidden;
}

#shell{
  flex: 1 1 auto;
  display:flex;
  flex-flow:row nowrap;
  position:relative;
  width:100%;
  min-height:100%;
}

  #left{
    flex: 0 0 180px;
    min-height:100%;
    min-width: 0;
    background:lightblue;
  }
  #left.collapsed{
    flex: 0 0 80px; …
Run Code Online (Sandbox Code Playgroud)

html css whitespace webkit flexbox

42
推荐指数
1
解决办法
1万
查看次数

为什么弹性项的宽度和高度会影响弹性项的渲染方式?

具有max-height样式的flexbox中的图像根据其是否具有其属性集height而显示为不同呈现width.

所述一个属性,设置为图像的真实宽度/高度,使得与保留了其纵横比,但没有属性的那些尊重max-height和出现压扁.

.flex-parent {
  display: flex;
  max-height: 10vh;
}
Run Code Online (Sandbox Code Playgroud)
<div class="flex-parent">
  <img                          src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Red_eyed_tree_frog_edit2.jpg/320px-Red_eyed_tree_frog_edit2.jpg">
  <img width="320" height="240" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Red_eyed_tree_frog_edit2.jpg/320px-Red_eyed_tree_frog_edit2.jpg">
</div>
Run Code Online (Sandbox Code Playgroud)

这就是Chrome 58中的显示方式(在Firefox 54中也是如此).

在flexbox中img的不同渲染. 没有宽度和高度属性,以及

他们为什么渲染不同?管理这种行为的规则是什么?

我的(显然不正确)的理解是,高度和宽度属性会覆盖在图像加载时发现内在的高度和宽度,如果高度和宽度属性等于图像的尺寸,应该是在渲染一旦图像无差异装了.

上下文正在制作一个包含响应图像的页面,其中每个图像

  • 可以有独特的原始尺寸
  • 加载时不会导致重排,即在初始渲染时保留正确的空间(因此使用高度和宽度属性)
  • 可以同时适应所有屏幕(因此我vh在CSS中搞乱)

青蛙图片来自https://en.wikipedia.org/wiki/File:Red_eyed_tree_frog_edit2.jpg

html css flexbox responsive-images

40
推荐指数
1
解决办法
4340
查看次数

如何在FF 34.x中获得FF 33.x Flexbox行为?

我们大量使用flexbox用于桌面应用程序,例如查看Web应用程序,它一直很好用.

但是使用最新的Firefox Developer Edition(35.0a2),布局的行为并不像预期的那样(它超出了视口):http://tinyurl.com/k6a8jde

这在Firefox 33.1中运行良好.

我认为这与此处描述的flexbox更改有关:https: //developer.mozilla.org/en-US/Firefox/Releases/34/Site_Compatibility

但遗憾的是,我还无法找到在FF 34或35.x中获得FF 33.x行为的方法.

有关布局或如何更好地隔离问题的任何帮助表示赞赏.

firefox flexbox

39
推荐指数
1
解决办法
2万
查看次数

当窗口变小时,Flex项目不会缩小

我试图在CSS弹性框内将两个图形图拼接在一起.我希望它们在调整窗口大小时调整大小.当窗口增长时,它按预期工作,但是当窗口变小时,图形不会缩小.

var trace1 = {};
var trace2 = {};

var plotdiv1 = document.getElementById("plotdiv1");
var plotdiv2 = document.getElementById("plotdiv2");

Plotly.newPlot(plotdiv1, [trace1]);
Plotly.newPlot(plotdiv2, [trace2]);

window.addEventListener("resize", function() {
  Plotly.Plots.resize(plotdiv1);
  Plotly.Plots.resize(plotdiv2);
});
Run Code Online (Sandbox Code Playgroud)
.plot-div {
  max-width: 100%;
}
.plot-col {
  flex: 0 0 50%;
}
.my-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>

<body>
  <div class="my-container">
    <div class="plot-col">
      <div id="plotdiv1" class="plot-div"></div>
    </div>
    <div class="plot-col">
      <div id="plotdiv2" class="plot-div"></div>
    </div>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

JSFiddle:https://jsfiddle.net/bd0reepd/

我可能误解了flexbox的工作原理,但是如果我用图像替换这些图,它们会按预期收缩.

我试图调试这个并找到了plotlys内部函数plotAutoSize,它相应地调用window.getComputedStyle和设置绘图大小.我曾经 …

javascript css css3 flexbox plotly

35
推荐指数
1
解决办法
2万
查看次数