верстаю страничку (двухколонную!!!) при помощи дивов, резиновую, первая колонка - меню (она же sidebar) - 40%, вторая - основное тело (mainbody) - 59% в любом случае (сколько бы процентов, какой бы float) ни устанавливал, основное тело смещается на следующую строку CSS: Код (CODE): #wrap { width: 100%; } #footer { clear: left; } #sidebar { float:none; width:40%; } #content { float: right; display: inline; width: 59%; padding-right: 7px; padding-bottom: 2px; padding-left: 7px; padding-top: 2px; background-color: #CCCCCC; border-left-color: #696969; border-left-style: solid; border-left-width: 1px; border-right-color: #282828; border-right-style: solid; border-right-width: 1 px; border-top-color: #959595; border-top-style: solid; border-top-width: 1px; border-bottom-color: #1d1d1d; border-bottom-style: solid; border-bottom-width: 1px; } index.php: Код (CODE): <div id="wrap"> <div id="sidebar"> <div class="inside"> <?php mosLoadModules('left_menu');?> </div> </div> <div id="content"> <div class="inside"> <?php mosMainBody(); ?> </div> </div> <div id="footer"> <div class="inside"> <?php include_once( $mosConfig_absolute_path .'/includes/footer.php');?> </div> </div> </div><!--end of wrap--> как же сделать так, чтобы оно вставало туда, куда нужно? мозг сломал - не придумал ( скрин:
Ответ: <div> переносится на другую строку Код (CODE): #menu { float: left; width: 15%; border: 1px solid #cccccc; } #adv { float: left; width: 15%; border: 1px solid #cccccc; clear: left; } #content { float: right; width: 84%; border: 1px solid #cccccc; } <div id="menu"> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007) </div> <div id="content"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </div> <div id="adv"> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007)<br /> ver 1.5.5 (09/06/2007) </div> а если такую структуру ?
Ответ: <div> переносится на другую строку libero, все несколько проще, а решений много вот два из них 1. ..касательно того что имеем у вас: a) Ваш #content имеет в своих стилях padding и border тем самым он уже не просто 59%, а несколько больше для некоторых браузеров. б) также имеем class="inside", который не описан в таблице стилей, тем самым засоряя код, создавая лишний хаос и очередную проблему для браузеров. в) главная ошибка в том что #sidebar должен иметь float:left ,а не "none" Решение проблемы: подчистить и убрать лишнее, также в размере вашего кода наблюдается #wrap не несущий в данной ситуации никакой смысловой и программной нагрузки. рекомендация дополнительная по отношению к footer (рекомендую поставить clear: both) Итого имеем чистое и рабочее Код (CODE): <style type="text/css"> <!-- #footer { clear: both; background:#0099CC; } #sidebar { background:#CCFFCC; float:left; width:40%; } #content { float: right; width: 59%; border: 1px solid; background-color: #CCCCCC; border-left-color: #CC0000; border-right-color: #FF9900; border-top-color: #009900; border-bottom-color: #003399; } --> </style> </head> <body> <div id="sidebar"> <p>menu</p> </div> <div id="content"> <p>12345</p> </div> <div id="footer"> <p>footer</p> </div> <!--end of wrap--> </body> 2. Несмотря на все подчистки и зачистки стилей - работу с двумя колонками рекомендую производить внутри таблицы (вставляете дивы внутрь ячейки и истязайте их сколько душе угодно. Причин тому очень много, особенно если вы настроены на "резинку".
Ответ: <div> переносится на другую строку благодарю за ответы, они мне очень помогли использовал двухячеечную таблицу с дивами, все на ура 2Viper, не совсем понял эту структуру =P и как следствие не смог попробовать (
Ответ: <div> переносится на другую строку переносилось, потому что нехватало места. Надо было пару процентов убавить у левого или правого дива. CSS слишком громоздкий, при таком раскладе, чтобы прописать все классы для всего сайта, получится в 2-3 раза больше кода, чем можно сделать: Код (CODE): html { height: 100%; margin-bottom: 1px; } body { margin: 0; padding: 0; height: 100%; } #wrap { width: auto; margin: 0 auto; padding: 0; } #footer { clear: both; height: auto; padding: 2px 7px; } #sidebar { float:left; width:36%; height: auto; padding: 2px 7px; } #content { float: right; display: block; width: 60%; height: auto; padding: 2px 7px; background-color: #CCCCCC; border-left: solid 1px #696969; border-right: solid 1px #282828; border-top: solid 1px #959595; border-bottom: solid 1px #1d1d1d; } Вот тебе дивы, без таблиц: Код (PHP): <body> <div id=wrap> <div id=sidebar> <?php if (mosCountModules('left_menu')) : ?> <div class="inside"> <?php mosLoadModules('left_menu');?> </div> <?php endif; ?> </div> <div id=content> <div class="inside"> <?php mosMainBody(); ?> </div> </div> </div> <div id=footer> <div class="inside"> <?php include_once('includes/footer.php'); ?> </div> </div> </body>
Ответ: <div> переносится на другую строку что непонятного пример: 1111 2222 3333 где 1111 - меню, 2222 - контент, 3333 - меню, модуль, что угодно. в бонус - http://www.csszengarden.com/?cssfile=205/205.css как пример а ещё лучше - http://www.thenoodleincident.com/tutorials/box_lesson/boxes.html
Ответ: <div> переносится на другую строку также рекомендую почитывать Adobe CSS Advisor чтобы исправлять ошибки в разметке