CSS - содержит проблему с плавающей точкой - почему? - PullRequest
0 голосов
/ 29 ноября 2010

css:

   .gs960 {
        width: 960px;
        margin: 0 auto;
        background-color: blue;
    }

    #miniContainer {
        width: 960px;
        overflow:hidden;
        background-color: red;
    }

    #sidebar {
       width: 208px;
       float: left;
       background-color: yellow;
    }

    #cartContainer {
        width: 100px;
        background-color: green;
    }

html:

<body>

    <div id="main">

        <div class="gs960">


                        <div id="miniContainer">



                            <div id="sidebar">
                                <p>Side bar here</p>
                            </div>

                            <div id="cartContainer">
                                <p>I need to be on the right side of Side bar</p>
                            </div>


                        </div><!-- fecha miniContainer -->

            </div> <!-- fecha gs660 -->

    </div> <!-- fecha main -->


</body>

Если я применяю число с плавающей запятой, оставленное #cartContainer, остается на его стороне.Но нужно ли мне это?

Без него: 1) Почему #cartContainer не остается на правой стороне #sidebar?

Кажется, что причина в том, что элемент является плавающим и как блок отображения, следовательно, все элементы останутся после него, на "вертикальной линии".

Однако, если мы сделаем:

<div id="main">

<div class="gs960">

<div id="miniContainer">

 <div id="sidebar">
      <p>Side bar here</p>
 </div>

    <p>I need to be on theasdsa dasd asda
         I need to be on theasdsa dasd asdas ad asd asd as das das right side of Side bar
         I need to be on theasdsa dasd asdas ad asd asd as das das right side of Side bar
         I need to be on theasdsa dasd asdas ad asd asd as das das right side of Side bar
         I need to be on theasdsa dasd asdas ad asd asd as das das right side of Side bar
         I need to be on theasdsa dasd asdas ad asd asd as das das right side of Side bar
         s ad asd asd as das das right side of Side bar</p>
 </div><!-- fecha miniContainer -->
</div> <!-- fecha gs660 -->
</div> <!-- fecha main -->

2) * <p> (по умолчанию также является блоком справа? Не начинается после #sidebar, но на стороне. Почему? *

Спасибо. MEM

1 Ответ

2 голосов
/ 29 ноября 2010

Посмотрите на это: http://www.jsfiddle.net/pereskokov/XptKx/2/ Причина в том, что ширина cartContainer ниже этой боковой панели, поэтому боковая панель не может быть размещена «внутри» cartContainer.Другими словами, cartContainer не может «обтекать» боковую панель.

Второй вариант работает, поскольку ширина p по умолчанию установлена ​​на 100%.

Кроме того, возможно, янеправильно понял вас, поэтому проверьте другое решение, если вы хотите, чтобы конейнеры фиксированной ширины располагались горизонтально, uno tras otro : http://www.jsfiddle.net/pereskokov/wKKsZ/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...