我有一个用于显示视频的两列布局(不使用该特定任务的列,因为我已经在使用带有另一个侧边栏的列,并且这个内容部分导致我出现流体布局问题,特别是在第二列中,我目前让它显示为两列。
它通常渲染得很好,使用一些自定义 CSS 来修复对齐等 - 。
我的问题在于标题<h4>{{video.title}}</h4>
的长度不同,因此当浏览器调整大小时,它会将其他内容向下推,导致直接父 div 的高度增加,从而导致顶级 div 的高度增加它包含在 ng-repeat 中(仅通过 JS 数组重复 div - 它是AngularJS指令,与问题无关)。结果,它将其下方的任何 div 推到右侧,效果会导致一个比 div 略小的空白点,从而破坏了原本干净的列布局。
HTML
<div id="VideoContent" class="span9">
<h3>Browse {{languageSelected}} Videos<span ng-hide="hasDifficulty(difficultySelected)"> ({{difficultySelected}})</span></h3>
<div class="row-fluid">
<div class="VideoSummary span4" ng-repeat="(videoIndex, video) in videos | filter: filterResults">
<div class="VideoInfo">
<div>
<div class="pull-left">
<img alt="Video Preview Image" src="./images/video1.png" />
</div>
<div>
<h4>{{video.title}}</h4>
<p>Language: {{video.language}}</p>
<p>Difficulty Level: {{video.difficulty}}</p>
<p>Topics: <span ng-repeat="(topicIndex, topic) in video.topics">{{topic}}<span ng-hide="isLastTopic(topicIndex, video.topics)">, </span></span></p>
<p>Contributor: {{video.origin.creator}}</p>
</div>
</div>
<p>{{video.description}}</p>
</div>
<div class="MiscInfo">
<div>
<p class="pull-right label">{{video.views}} views</p>
</div>
<div>
<p class="pull-right label" ng-show="hasTranslation(video)">Translate</p>
<p class="pull-right label" ng-show="hasCaption(video)">Caption</p>
</div>
</div>
</div>
</div>
</div>
CSS (SASS)
> div#VideoContent
> div
> div.VideoSummary
display: inline-block
margin-top: 20px
&:first-child
margin-left: 2.5%
> div.VideoInfo
> div
> div
display: inline-block
> div:last-child
margin-left: 30px
> p
line-height: 10px
> p
margin-top: 20px
> div.MiscInfo
border-top-width: 1px
border-top-color: $Blue
border-top-style: dotted
padding-top: 10px
> div
display: inline
> div:first-child
margin-right: 10%
> p
float: left
> div:last-child
> p:last-child
margin-right: 10px
我知道 sass 不是最干净的 atm,我打算清理它(例如删除那些可怕的子选择器)。