【问题标题】:Bootstrap 4 card horizontal Scroll issue?Bootstrap 4卡水平滚动问题?
【发布时间】:2018-11-01 20:54:02
【问题描述】:

我正在使用引导卡在下面创建一个基本的图像和文本。决定使用卡类,因为它的结构非常好,并且不想使用太多的 css 来水平制作 div 列表。我想要的是一个像这样水平滚动的图片库

问题是随着我添加更多卡片,卡片行为会变得更小。这里有什么问题? ,也许我不应该使用卡组?也许必须放弃引导程序并自己编写?

.card-group {
    overflow-x: scroll;
    white-space: nowrap;
    max-width: 30rem;
    padding: 1rem;
    }
<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>Document</title>
	
	<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>


	<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
	 crossorigin="anonymous"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
	 crossorigin="anonymous"></script>
	<script src="./index.js"></script>
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
	 crossorigin="anonymous">


</head>

<body>
	<div class="container mt-4">
		<div class="horzontal-scrollgallery">
			<div class="card-group">
				<div class="card pr-3">
					<img class="card-img-top" src="./images/chicago.jpg" alt="Card image">
					<div class="card-body text-center">
						<h4 class="card-title">John Doe</h4>
					</div>
				</div>
				<div class="card pr-3">
					<img class="card-img-top" src="./images/chicago.jpg" alt="Card image">
					<div class="card-body text-center">
						<h4 class="card-title">John Doe</h4>
					</div>
				</div>
				<div class="card pr-3">
					<img class="card-img-top" src="./images/chicago.jpg" alt="Card image">
					<div class="card-body text-center">
						<h4 class="card-title">John Doe</h4>
					</div>
				</div>
				<div class="card pr-3">
					<img class="card-img-top" src="./images/chicago.jpg" alt="Card image">
					<div class="card-body text-center">
						<h4 class="card-title">John Doe</h4>
					</div>
				</div>

			</div>
		</div>
	</div>

</body>

</html>
</body>

</html>

【问题讨论】:

  • 据我所知,card-deckcard-group 是响应式布局(就像所有在引导程序中一样),所以如果你在里面放更多的卡片,它们会在宽度上进行调整,所以它们都是可见的.在您的特定情况下,您可以尝试覆盖卡片样式以具有固定宽度(我尝试过但没有成功)或为您需要的方法创建自己的样式类。

标签: html css twitter-bootstrap twitter-bootstrap-3 bootstrap-4


【解决方案1】:

你的卡片变小是因为.card-group显示为flex,并且它的卡片项目的flex-grow设置为1,这意味着它们将占据相同的宽度:

为了得到你想要的,你可以定义一个自定义类以及它的默认.card-group(这样你就不会覆盖默认的卡组样式),设置它的溢出样式以及它的孩子&lt;card&gt;flex-basis 以便它们具有默认宽度。您需要将卡片组的包装样式设置为no-wrap,默认设置为wrap

CSS

@media (min-width: 576px) {
    .card-group.card-group-scroll {
        overflow-x: auto;
        flex-wrap: nowrap;
    }

    .card-group.card-group-scroll > .card {
        flex-basis: 35%;
    }
}

结果

小提琴: http://jsfiddle.net/b2jw13go/1/

【讨论】:

    猜你喜欢
    • 2018-10-30
    • 1970-01-01
    • 2018-05-23
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多