html - 如何制作一张卡头固定在 Bootstrap 4 中的卡

标签 html css bootstrap-4 frontend

我有一张类型卡:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
    <div class='card'>
    	<div class='card-header'>
    		<div class='row'>
    			<div class='col'>
    				<h5 class='mb-0'>Element</h5>
    			</div>
    			<div class='col'>
    				<p class='text-right mb-0'>n</p>
    			</div>
    		</div>
    	</div>
    	<ul class='list-group list-group-flush'>
    		<li class='list-group-item'>Item 1</li>
    		<li class='list-group-item'>Item 2</li>
    		<li class='list-group-item'>Item 3</li>
    	<ul>
    	<div class='card-footer'>
    		<div class='input-group'>
    			<input type='text' class='form-control' placeholder='New item'>
    			<div class='input-group-append'>
    				<button class='btn btn-outline-secondary' type='button'> + </button>
    			</div>
    		</div>
    	</div>
    </div>

添加的元素越多,元素数量来源的标题移动得越多。

元素较多时如何使其保持原位?

我尝试了 sticky-top ,但它一直粘在顶部,因此顶部有边距或填充。

最佳答案

这就是我的方法:

基本上:设置position:relative于父元素(.card)和位置:固定到子元素(.card-header)

.card{
  position: relative; /* all child elements gets positioned relative to this element */
}
.card-header{
  position: fixed; /* stay fixed on top */
  top: 0;
  width: 100%;
  z-index: 1; /* needed to stay above other elements */
}
.list-group{
  padding-top: 50px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class='card'>
    <div class='card-header'>
        <div class='row'>
            <div class='col'>
                <h5 class='mb-0'>Element</h5>
            </div>
            <div class='col'>
                <p class='text-right mb-0'>n</p>
            </div>
        </div>
    </div>
    <ul class='list-group list-group-flush'>
        <li class='list-group-item'>Item 1</li>
        <li class='list-group-item'>Item 2</li>
        <li class='list-group-item'>Item 3</li>
        <li class='list-group-item'>Item 4</li>
        <li class='list-group-item'>Item 5</li>
        <li class='list-group-item'>Item 6</li>
        <li class='list-group-item'>Item 7</li>
        <li class='list-group-item'>Item 8</li>
        <li class='list-group-item'>Item 9</li>
    <ul>
    <div class='card-footer'>
        <div class='input-group'>
            <input type='text' class='form-control' placeholder='New item'>
            <div class='input-group-append'>
                <button class='btn btn-outline-secondary' type='button'> + </button>
            </div>
        </div>
    </div>
</div>

关于html - 如何制作一张卡头固定在 Bootstrap 4 中的卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953384/

相关文章:

html - Grid 960 - 粘贴页眉

jquery - 如何在事件元素上实现带有背景图像和向下箭头的 Bootstrap 固定顶部导航栏菜单

css - checkbox-inline 将复选框放在文本上而不是旁边

html - 如何让页脚贴在底部

javascript - 将元素扩展到 OS X 上的滚动区域

html - 未指定高度的两列之间的边框

html - 无序列表中的元素符号不包含在 block 中?

css - Bootstrap 4 float 属性不适用于 SVG 元素

javascript - 来自 JSON 的 D3.JS 分组圆环图

css - 在 Moodle 中更改单个 block 的外观