این مقاله بخشی از آرشیو تاریخی وب‌تارگت است و ممکن است به‌روز نباشد، به‌ویژه در موضوعات فنی. پیش از استفاده از مطالب، تاریخ انتشار را بررسی کنید.

چینش صفحه با ساختار دو ستون با عرض متغیر درCSS

این نوع از چینش نمونه ای دیگر از چینش صفحه liquid است که با دو ستون ایجاد شده است . به این نکته توجه داشته باشید که این نوع از چینش همیشه به این سادگی صورت نخواهد گرفت و با اضافه شدن محتویات بیشتر مشکلات پیچیده ای اتفاق خواهد افتاد و رفع این مشکلات نیاز به تسلط و تخصص بسیاری دارد . در نهایت این نوع از چینش می تواند یکی از استاندارد ترین نوع چینش از نوع کاربرد پذیری برای کاربران باشد . تست نهایی این نوع از چینش در مرورگر ها و صفحات نمایش با رزولوشن های متفاوت قبل از بهره برداری نهایی الزامی خواهد بود .

نمایش نمونه

ساختار HTML


HTML

<div class="container">
    <div class="header">
        <h1><a href="http://www.webtarget.ir/">webtarget.ir</a></h1>
        <h2>دو ستون – عرض متغیر</h2>
    </div>
    <div class="navigation">
        <ul>
            <li><a href="#">خانه</a></li>
            <li><a href="#">درباره ما</a></li>
            <li><a href="#">خدمات</a></li>
            <li><a href="#">ارتباط با ما</a></li>
        </ul>
    </div>
    <div class="content">
        <div class="contentBody">
            <h2>آموزش چینش صفحات وب سایت با استفاده از CSS</h2>
            <p>کد نویسی بر اساس استاندارد W3C انجام شده است</p>
            <p>چینش بر اساس زبان فارسی و از راست به چپ است - rtl </p>
            <br class="clearfloat" />
        </div>
        <div class="sideBar">
            <h3>سر فصل برای ستون کناری</h3>
            <p>با ساختار و چینش های استاندارد آشنا شوید</p>
        </div>
        <br class="clearfloat" />
    </div>
    <div class="footer"> Copyright©webtarget.ir|2011 </div>
</div>

کدهای CSS


نکات مهم در چینش صفحه


  • container

    در این طرح به دلیل خاصیت liquid مقداری برای conatiner تعیین نخواهد شد . طرح با افزایش عرض صفحه گسترش خواهد یافت

  • sideBar

    اندازه عرض sideBar ثابت خواهند ماند . نوع موقعیت sideBar به موقعیت position:absoloute تغییر داده شده است . غیر قابل پیش بینی بودن اندازه contentBody و تعیین اندازه sideBar بر اساس اندازه contentBody باعث ایجاد این تغییر است . استفاده از موقعیت position:absoloute برای sideBar می تواند این بخش را در موقعیت چپ حفظ کند .

  • contentBody

    با توجه به غیر قابل پیش بینی بودن عرض contentBody مقدار sideBar ثابت در نظر گرفته شده است و با استفاده از padding-left به contentBody اجازه داده نخواهد شد تا در صورت کاهش عرض صفحه بر روی sideBar قرار گیرد .

CSS

@charset "utf-8";
/* CSS Document */
/*-------------------------*/
/* Design & Style by       */
/* Amir Sorouri            */
/* [email protected]  */
/*-------------------------*/

/*--------- reset ---------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
}
ol, ul {
    list-style: none;
}
body { font:62.5%/1.7em Tahoma, Arial, sans-serif; direction:rtl;}

/* ---------- Requirment ----------*/
.container{font-size:1.2em;}
.clearfloat {clear:both; height:1%;}
h1 , h2 , h3  { font-family:Arial, Helvetica, sans-serif;}
h1 { font-size:1.8em;}
h2 { font-size:1.6em;}
h3 { font-size:1.4em;}

/* ---------- Main -----------*/
.container
{
    margin: 0 auto;
    background:#fff;
}

.header
{
    background:#ccc;
    padding: 20px;
}
.header h1 { text-align:left;}
.header h1 a{ text-decoration:none; color:#09F;}
.navigation
{
    background:#333;
    height:30px;
    line-height:30px;
}

.navigation ul li
{
    float:right;
}

.navigation li a
{
    display: block;
    height:30px;
    padding:0 15px;
    color:#fff;
    text-decoration: none;
    border-left: 1px solid #fff;
}

.navigation li a:hover { background:#09F; }

.content
{
    background:url(sideBarBg.jpg) repeat-y left top #eee;
}

.contentBody
{
    float:right;
    padding:20px;
    padding-left:280px;
}

.contentBody p { text-align:justify; line-height:17px;}

.contentBody h2
{
    margin: 0 0 .5em;
}

.sideBar
{
    width:250px;
    padding:20px 10px;
    position:absolute;
    left:0;

}
.sideBar h3
{
    margin: 0 0 .5em;
}

.footer
{
    background:#ccc;
    padding: 20px;
    text-align:left;
}