Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не совсем js (https://javascript.ru/forum/dom-window/57137-ne-sovsem-js.html)

Big guy 21.07.2015 14:52

Не совсем js
 
Здравствуйте, есть див и в него вписываются много дивов, и нужно сделать так, что бы у родительского дива, появлялась горизонтальная прокрутка, и все его дивы, сколько бы их не было, выстраивались тоже горизонтально. Я прописывал в родительский див overflow-x: scroll, для того что появилась горизонтальная прокрутка, и в дивов-детей ставил position: relative и float: left, но они почему то оставались в вертикальном положении. Если кто знает, как это сделать, помогите пожалуйста.
Вот моя попытка, которую я описывал выше:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="./css/style.css">
</head>
<body>
    
    <div id="block">
        <div class="sl" style="background: blue"></div>
        <div class="sl" style="background: yellow"></div>
        <div class="sl" style="background: red"></div>
    </div>
    
</body>
</html>

И CSS:
html{
padding: 0;
margin: 0;
height: 100%;
}

body{
margin: 0;
width: 100%;
height: 100%;
}

#block{
position: absolute;
top: 20%;
left: 30%;
width: 30%;
height: 35%;
overflow-x: scroll;
overflow-y: scroll;
}

.sl{
position: relative;
float: left;  
width: 100%;
height: 100%;
}

EmperioAf 21.07.2015 15:44

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>ГГ</title>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<style>
*{
    margin: 0;
    padding:0;
    outline: none;
}
 
.container{
    width:200px;
    height: 100px;
    overflow-x: auto;
    margin: 30px;
}

#block{
width: 300%;
height: 100%;
}
 
.sl{
float: left; 
width: 33.3%;
height: 100%;
}
</style>
</head>
<body>
    <div class="container">
        <div id="block">
            <div class="sl" style="background: blue"></div>
            <div class="sl" style="background: yellow"></div>
            <div class="sl" style="background: red"></div>
        </div>
    </div>
</body>
</html>

Big guy 21.07.2015 16:58

EmperioAf,
Спасибо большое

kostyanet 22.07.2015 04:53

Цитата:

Сообщение от Big guy
но они почему то оставались в вертикальном положении.

Потому что у вас был width: 100%; на все дочерние элементы, вот они и переносились как это и происходит с float:left когда не хватает места.

И при width: 33.3%; могут начать переноситься, если скажем добавить padding или border.


Часовой пояс GMT +3, время: 07:44.