angularjs - 防止列数破坏内部元素

标签 angularjs css ionic-framework

我正在尝试创建一个响应式图像环绕画廊。每个图像都会有一个标题。我使用 webkit 的列数来分发它们。

问题是这样的:我指定了一个“相对”的容器。在该容器内,我有一个“绝对”标题,后跟一个图像。 column-count 的某些值似乎正在发生的事情是,标题将转到另一列,而图像将转到下一列。我需要它们始终在一起,我很惊讶为什么相对容器内的绝对值没有这样做。

供引用的codepen:http://codepen.io/pliablepixels/full/YwWLzy/

核心图片库代码是:(所以我坚持在发布代码笔链接时包含代码片段,所以这里是)

   <div style="-webkit-column-count:{{ cols }};-webkit-column-gap:0px;line-height:0px;">
       <span ng-repeat="image in images">
           <div style="position:relative">
               <div class="my_header">Header</div>
               <img class="scaled_image" src={{ image.src }} />
           </div>
       </span>
   </div>

请更改列值并注意标题行为。

如何解决这个问题? (注意我必须使用 img 标签——不能使用背景图像)

谢谢

最佳答案

为了保护元素不被破坏并将它们完全保留在一个列中,您可以添加这些属性:

.element {
    -webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
              page-break-inside: avoid; /* Firefox */
                   break-inside: avoid; /* IE 10+ */
}

你的固定例子http://codepen.io/anon/pen/rxMWxa

标题

出现这种行为是因为您已将 line-height:0px 添加到您的容器 div。因此,您可以将 header 的 line-height 值返回为 normal。在 codepen 中修复了这个问题。

关于angularjs - 防止列数破坏内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453022/

相关文章:

angularjs - 如何在一个 app.get 请求中返回多个 Mongodb 集合?

php - Facade.php 第 216 行中的 FatalErrorException:调用未定义的方法 Illuminate\Foundation\Application::missing()

html - div 不会出现在另一个 div 中

设备方向更改时未拾取 CSS 样式

html - 我正在从 Bootstrap 应用模态,但它没有正确关闭

cordova - 如何自定义 Ionic 插件?

javascript - 将 jquery 指定为 angularjs 的依赖项会在 requirejs 中生成错误

javascript - 使用 mongodb 嵌入 Json 数据

javascript - 如何将图像源传递给函数中的变量,然后显示给图像标签

angularjs - 在 AngularJS 工厂中从 Firebase 推送和获取数据