CSS - Переполнение прокрутки и отступы справа игнорируются - PullRequest
0 голосов
/ 21 октября 2019
<!DOCTYPE html>
<html>
<head>
<style>
.d1 {
    background-color: lightblue;
    display: flex;
    overflow: scroll;
    padding: 10px;
}
.d2 {
    background-color: yellow;
    margin: 5px;
}
</style>
</head>
<body>

<div class="d1">
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
</div>

</body>
</html>

В этом простом примере я использую padding на родительском div и margin на child, но в дальнем правом углу контейнера нет padding или margin. .. Как я могу решить эту проблему? Ты

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Полагаю, вы хотите сохранить подсветку синего цвета при появлении полосы прокрутки. Чтобы достичь этого, вам придется разделить контейнер прокрутки и контейнер заполнения.

Я предлагаю вам изменить HTML-код на следующий:

*{
  box-sizing: border-box;
}
html,body{
  margin: 0;
}
.wrapper{
  padding: 10px;
  background-color: lightblue;
  max-width: 500px;
}
.scroll{
  overflow-x: scroll; /* or auto */
  display: flex;
}
.content{
  background-color: yellow;
  margin: 5px;
}
<div class="wrapper">
  <div class="scroll">
    <div class="content">loremipsumloremipsum</div>
    <div class="content">loremipsumloremipsum</div>
    <div class="content">loremipsumloremipsum</div>
    <div class="content">loremipsumloremipsum</div>
  </div>
</div>

Вы также можете проверить это CodePen

0 голосов
/ 21 октября 2019

Попробуйте это

<!DOCTYPE html>
<html>
<head>
<style>
.d1 {
    background-color: lightblue;
    display:inline-flex;
    overflow: auto;
    padding: 10px;
}
.d2 {
    background-color: yellow;
    margin: 5px;
}
</style>
</head>
<body>

<div class="d1">
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
    <div class="d2">111111111111111111111</div>
</div>

</body>
</html>
...