HTML CSS 水平滚动根本不起作用

标签 html css

我对 html/css 有疑问。我试图制作一个水平滚动的 div 列表,但我在 Stack Overflow 上找到的所有解决方案都失败了。设置 overflow-x: scroll; 给出一个非事件滚动条,所有不适合的元素都移到第二行。我试图将所有 div 放在一个容器中,但它不起作用。我附上了 picture that describes what i mean .这是我的代码:

body {
  background-color: #f3f3f3;
  font-family: 'Roboto', sans-serif;
  font-size: 10px;
  margin: 90px 0 0 0;
}

#belka_up {
  background-color: #FFF;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
  color: #000;
  display: inline-block;
  font-family: serif;
  font-size: 57px;
  height: 70px;
  left: 0;
  line-height: 70px;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
}

.karta {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
  max-width: 300px;
  margin: auto;
  text-align: center;
  background-color: #FFF;
}

h1,
.cena {
  padding: 10px;
}

.cena {
  color: grey;
  font-size: 22px;
}

.karta button {
  background-color: #000;
  border: none;
  color: white;
  cursor: pointer;
  font-size: 12px;
  outline: 0;
  padding: 12px;
  text-align: center;
  width: 100%;
  transition: 200ms;
}

.karta button:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

li {
  float: left;
  padding: 10px;
  list-style-type: none;
}

.kontener {
  width: 1920px;
  height: 627px;
  display: inline-block;
  margin: 0;
  float: left;
  overflow: hidden;
  overflow-x: scroll;
}
<link href="https://fonts.googleapis.com/css?family=Roboto:300" rel="stylesheet">
<div id="belka_up"><b> BUCZI </b></div>
<div class="kontener">
  <ul>
    <li>
      <div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert czarna</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
    <li>
      <div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert biała</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
    <li>
      <div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert czarna</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
    <li>
      <div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert biała</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
    <li>
      <div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert czarna</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
    <li>
      <div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
        <h1>Bluza Classic Invert biała</h1>
        <p class="cena">29,99,-</p>
        <p><button>Dodaj do koszyka</button></p>
      </div>.
    </li>
  </ul>
</div>

最佳答案

您可以对 ul 元素使用 display:flex。 当然你需要更多的样式,我只是在这里更改了一些属性并标记了它们。我还将容器的宽度设置为 500px,但不要让它打扰你......

body {
	background-color: #f3f3f3;
	font-family: 'Roboto', sans-serif;
	font-size: 10px;
	margin: 90px 0 0 0;
}
#belka_up {
    background-color: #FFF;
	box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
    color: #000;
    display: inline-block;
	font-family: serif;
    font-size: 57px;
    height: 70px;
	left: 0;
    line-height: 70px;
    position: fixed;
    text-align: center;
	top: 0;
	width: 100%;
}
.karta {
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
	max-width: 300px;
	margin: auto;
	text-align: center;
	background-color: #FFF;
}
h1, .cena {	
	padding: 10px;
}
.cena {
	color: grey;
	font-size: 22px;
}
.karta button {
	background-color: #000;
	border: none;
	color: white;
	cursor: pointer;
	font-size: 12px;
	outline: 0;
	padding: 12px;
	text-align: center;
	width: 100%;
	transition: 200ms;
}
.karta button:hover {
	background-color: rgba(0, 0, 0, 0.7);
}
li {
	float: left;
	padding: 10px;
	list-style-type: none;
}

/* Changes begin here */
.kontener{
    width: 500px;
    height: 627px;
    display: inline-block;
    margin: 0;
	float: left;
	
}

.kontener > ul {
  display: flex;
  overflow: hidden;
	overflow-x: auto;
}
<!DOCTYPE html>
<html lang="pl-PL">
<head>
<meta charset="utf-8">
<title> @pagename </title>
<link href="https://fonts.googleapis.com/css?family=Roboto:300" rel="stylesheet"> 
<meta name="theme-color" content="#F00">
</head>
<body>
<div id="belka_up"><b> BUCZI </b></div>
<div class="kontener">
<ul>
<li>
	<div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert czarna</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
<li> 
	<div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert biała</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
<li> 
	<div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert czarna</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
<li> 
	<div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert biała</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
<li> 
	<div class="karta"> <img src="produkty/bluzy/cz_bi_cl_01.jpg" alt="Bluza cz_bi_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert czarna</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
<li> 
	<div class="karta"> <img src="produkty/bluzy/bi_cz_cl_01.jpg" alt="Bluza bi_cz_cl_01" style="width: 100%; height: 400px;">
	<h1>Bluza Classic Invert biała</h1> <p class="cena">29,99,-</p><p><button>Dodaj do koszyka</button></p> </div>.
	</li>
	</ul>
	</div>
</body>
</html>

关于HTML CSS 水平滚动根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52390719/

相关文章:

javascript - jQuery 日期选择器在 ASP.Net MVC4 中无法正常工作

css - 仅当顶部栏粘在顶部时如何显示元素? - Zurb 基金会

html - 如何将此文本放在右侧

html - 当它后面有其他元素时,如何选择给定元素类型的最后一个子元素?

html - 跨浏览器(chrome/firefox)试图获得以像素百分比定义的顶级位置

java - 如何通过Selenium访问框架内的嵌套html

html - 宽度为 100vw 的 Div 不适合屏幕

html - 无论内容如何,​​如何设置 bootstrap 4 卡的最大高度相等?

HTML + CSS 渲染颜色

javascript - 桌面上的 jQuery 工具提示