3 DIV в один ряд

0

Мне нужно три элемента <div> в одной строке.

Пример:

<div class="row">

    <div class="left">
         <!-- width 100% , float:left  -->
    </div>

    <div class="center">
         <!-- width 960px , margin:0 auto  -->

         <div class="sidebar">
              <!-- width 350px , float:right  -->
         </div>

    </div>

    <div class="right">
         <!-- width 100% , float:right  -->
    </div>

</div>

Пример изображения: Изображение 174551

Я хочу установить тот же фон для div.right как div.sidebar.

  • 0
    Не могли бы вы объяснить, почему вы пытаетесь это сделать? Я не вижу цели по изображению
  • 0
    установить все их поплавки влево. Также убедитесь, что их ширина меньше или равна ширине
Показать ещё 9 комментариев
Теги:

5 ответов

1

css файл

 .main{ background-color: #ddd;}
.left {

    display: table-cell;
}
.middle {

    display: table-cell;
    width:100%;
}
.right {

    display: table-cell;
}

html-код

<div class="main">
<div class="left"> Some content </div>
<div class="middle"> This should fill the space left </div>
<div class="right"> Some other content </div>
</div>
0

здесь вы идете 3 DIV в одну строку. Нажмите "Снять фрагмент кода", чтобы увидеть результат.

<div id="d3" style="display:inline-block; width:100px;">content1</div>
<div id="d3" style="display:inline-block; width:100px;">content2</div>
<div id="d3" style="display:inline-block; width:100px;">content3</div>
<div id="d1" style="display:inline-block; width:100px;">**content1**</div>
<div id="d1" style="display:inline-block; width:100px;">**content1**</div>
<div id="d3" style="display:inline-block; width:100px;">**content3**</div>
0

Я сделал это для вас. JSFiddle

            <html>
            <head>
            <style>

            #row{
            background: grey;
            width: 100%;
            margin: 0;
            float: left;
            }
            #left {
            background: #ccc;
            width: 60%;
            float: left;
            }
            #right{
            background: #999;
            width: 40%;
            float: right;

            }

            #content-left{
                width: 70%;
                float: right;
            }
            #right-top-wrapper{
            width: 100%;
            background: #666;
                color: #f3f3f3;
                float: left;
            }
            #right-top{
                width: 40%;

                clear: both;

            }
            #right-bottom{
                width: 40%;
                float: left;
                clear: both;
            }


            </style>
            </head>
            <body>
            <div id="row">
            <div id="left">
                <div id="content-left">
                <h3>Lorem Ipsum</h3>
                    "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laboru
                </div>
            </div>
            <div id="right">
                <div id="right-top-wrapper">
                    <div id="right-top">
                    <h3>Lorem Ipsum</h3>
                    "Lorem ipsum dolor sit amet, co
                </div>
                </div>
                <div id="right-bottom">

                <h3>Lorem Ipsum</h3>
                    "Lorem ipsum dolor sit amet, co
                </div>
            </div>
            </div>
            </body>
            <html>
  • 1
    1) Не могли бы вы предоставить скрипку, чтобы показать, как это работает, и 2) Я не вижу, как это достигает того, о чем просил ОП.
  • 0
    ты на самом деле пробовал это ??
Показать ещё 5 комментариев
0

Решение 1 - CSS Calc

JSFiddle. Это решение использует функцию calc() CSS3. Это поддерживается всеми основными браузерами, особенно в IE9.

HTML

<div id="container" class="cf">
    <div id="left" class="side"></div>
    <div id="center"></div>
    <div id="right" class="side"></div>
</div>

CSS

#container div {
    height:300px;
    float:left;
}
#center {
    width:960px;
    background:#FFFF00;
}
.side {
    width:calc(50% - 480px);
    background:#FF0000;
}

(Примечание. Поскольку для этого решения требуются поплавки, я также включил взлом micro clearfix)


Решение 2 - Flexbox

JSFiddle. Этот метод использует модель flexbox CSS3. Совместимость с браузером в стороне - это мой предпочтительный подход, но это нехорошее решение, если вы хотите настроить целевые браузеры.

HTML

<div id="wrapper">
    <div id="left" class="flex"></div>
    <div id="center"></div>
    <div id="right" class="flex"></div>
</div>

CSS

#wrapper {
    display:flex;
}
#wrapper div {
    height:300px;
}
.flex {
    flex:1;
}
#center {
    width:960px;
}
  • 0
    Это то, что мне нужно, но это решение не поддерживается последней версией популярных веб-браузеров? Знаете ли вы другое решение для этого?
  • 0
    Ничто иное не приходило на ум, кроме использования JavaScript для изменения положения левого и правого DIV. Вот почему я спросил вас, какова была цель этого. Я также не уверен, что вы подразумеваете под «но это решение не поддерживается последней версией популярных веб-браузеров». Он поддерживается последними версии всех популярных веб - браузеров, просто не особенно IE <11 (/ 10 без -ms- )
Показать ещё 1 комментарий
0

Используйте встроенный стиль при отображении div:

style="display:inline"

<div class="row">

<div style="display:inline" class="left">
     <!-- width 100% , float:left  -->
</div>

<div style="display:inline" class="center">
     <!-- width 960px , margin:0 auto  -->

     <div style="display:inline" 'class="sidebar">
          <!-- width 350px , float:right  -->
     </div>

  </div>

  <div class="right">
     <!-- width 100% , float:right  -->
  </div>

  </div>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню