رفع مشکل ارتفاع یکسان ستون ها در طراحی وب سایت
به انجمن امروزی خوش آمدید لطفا وارد شوید یا ثبت نام کنید
ثبت نام

کاربران فراخوانی شده

نمایش نتایج: از شماره 1 تا 2 , از مجموع 2
  1. بالای صفحه | پست شماره : 1

    کاربر محروم
    نام
    مریم سایت دار
    شغل
    طراحی سایت
    محل اقامت
    تهران
    جنسیت
    زن
    شماره عضویت
    1883
    تاریخ عضویت
    ۱۳۹۳-۰۱-۳۰
    نوشته ها
    1
    میانگین ارسال
    0.00
    پسند داده
    0
    پسند گرفته 2 بار در 1 پست
    امتیاز کاربری
    14

    رفع مشکل ارتفاع یکسان ستون ها در طراحی وب سایت


    این مشکل تمامی طراحان وب بوده از زمانی که طراحی وب از صفحه بندی با table به div گرایش پیدا کرد و سوالی که برای اکثر طراحان مطرح بود آن بود که چگونه می توانم پس زمینه با 100% ارتفاع داشته باشم در لایه بندی چند ستونی.
    چندین روش برای حل این مشکل وجود دارد که در این بخش یک روش آن را بیان می نمایم که ممکن است در حالات زیر مورد استفاده پروژه شما واقع شود:

    1. تصاویر پس زمینه، بردرها، افکت های CSS3 مورد استفاده برای ستون های شما
    2. بیشتر از سه ستون
    3. ارتفاع و عرض انعطاف پذیر

    شرح مشکل از قرار زیر می باشد:
    نمایش پیش فرض پس زمینه

    تصویر بالا یک قالب سه ستونی می باشد که قالب ها به صورت پیش فرض به سمت چپ فلوت شده اند. هر ستون پس زمینه خود را دارد و پس زمینه به ارتفاع محتوای موجود در آن در می آید. این مورد جالی برای کاربران سایت نیست زیرا تغییر در ارتفاع باعث عدم نظم صفحات وب سایت از نظر چشمی می گردد. که HTML برای این سه لایه از قرار زیر است:
    کد:
    <div class="wrap">
    <div class="content">...</div>
    <div class="sidebar">...</div>
    <div class="sidebar_two">...</div>
    
    </div>

    و کد CSS تصویر بالا:
    کد HTML:
    .content {
    width:60%;
    float:left;
    padding: 20px 30px;
    background: #fff;
    color: #6d7072;
    }
    .sidebar {
    width:20%;
    float:left;
    padding: 20px 30px;
    background: #5f6673;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar_two {
    width:20%;
    float:left;
    padding: 20px 30px;
    background: #434750;
    color: #ebeef3;
    font-size: 90%;
    }
    راه حل: استفاده از المان های کاذب pseudo-elements

    زمانی که در مورد ستون های با ارتفاع یکسان صحبت می نمایم قصد بر آورده کردن دو مورد را داریم:

    1. ستون می بایست به اندازه محتوای خود فضا داشته باشد
    2. ستون ها می بایست مستقل از محتوای وجود و در صورت نیاز ارتفاع فضای خود را افزایش دهند

    در مورد مثال ما، پس زمینه به اندازه فضای محتوا وجود دارد و فقط نیاز است پس زمینه می بایست تا انتهای فضای موجود کشیده شود. بنابراین در صورتی که قصد داریم پس زمینه ها تنظیمات ارتفاع متفاوتی داشته باشند، می توانیم ارتفاع را به گروه المان آن اختصاص دهیم. برای انجام این کار می بایست ازpseudo-elements استفاده نماییم. برای هر کدام از ستون ها از :before استفاده می نماییم تا یک pseudo-element ایجاد گردد. با تلفیق مکان کامل absolute positionin و z-index پس زمینه را به صورتی در نظر می گیرم تا تمام بخش را در بر گیرد. کد CSS جدید از قرار زیر است:


    کد HTML:
    .content, .content:before {width:60%;
    }
    .content {
    float:left;
    padding: 20px 30px;
    color: #6d7072;
    }
    .content:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 0;
    background: #fff;
    }.sidebar, .sidebar:before {
    width:20%;
    }
    .sidebar {
    float:left;
    padding: 20px 30px;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 60%;
    background-color: #5f6673;
    }
    .sidebar_two, .sidebar_two:before {
    width:20%;
    }
    .sidebar_two {
    float:left;
    padding: 20px 30px;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar_two:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 80%;
    background-color: #434750;
    }
    که در نهایت ستون های ما با حالت زیر در می آید:

    این کد چگونه کار می کند

    مطابق تصویر زیر :before به مانند المان در بر دارنده المان فعلی عمل می نماید که ارتفاع آن با توجه به CSS در نظر گرفته شده به اندازه ارتفاع المان در بر گیرنده سه ستون
    wrap
    می باشد.

    نکته مهم: ستون های شما می بایست داخل المانی باشند که موقعیت آن position: relative; باشد تا absolute positioning آنها عمل نماید.
    کمتر و بیشتر از سه ستون

    برای انجام همین کار تا سه ستون و با استفاده از :before و :after می توانید مقاله Nicolas Gallagher را مطالعه نمایید. برای ستون های بالاتر از این تعداد نیز می توانید از "background holder" استفاده نمایید.
    لینک منبع:
    Quick Tip: Solving the Equal Height Column Conundrum - Tuts+ Web Design Tutorial

    2 کاربر پسندیده اند: aligator,محمدمحسن
    درانجمن های تخصصی امروزی ادعا نداریم که اولین ، بهترین و یا پر بازدیدترینیم اما مطمئن باشید که خاص هستیم و متفاوت

  2. بالای صفحه | پست شماره : 2

    مدیـر کـل و صاحب امتیاز سایت
    نام
    حامد رضایی نژاد
    محل اقامت
    کرمان
    جنسیت
    مرد
    شماره عضویت
    1
    تاریخ عضویت
    ۱۳۹۱-۰۷-۰۵
    نوشته ها
    3,948
    میانگین ارسال
    0.93
    پسند داده
    8,103
    پسند گرفته
    19,468
    امتیاز کاربری
    28886

    پاسخ : رفع مشکل ارتفاع یکسان ستون ها در طراحی وب سایت

    نقل قول نوشته اصلی توسط maryamsitedar نمایش پست ها
    این مشکل تمامی طراحان وب بوده از زمانی که طراحی وب از صفحه بندی با table به div گرایش پیدا کرد و سوالی که برای اکثر طراحان مطرح بود آن بود که چگونه می توانم پس زمینه با 100% ارتفاع داشته باشم در لایه بندی چند ستونی.
    چندین روش برای حل این مشکل وجود دارد که در این بخش یک روش آن را بیان می نمایم که ممکن است در حالات زیر مورد استفاده پروژه شما واقع شود:

    1. تصاویر پس زمینه، بردرها، افکت های CSS3 مورد استفاده برای ستون های شما
    2. بیشتر از سه ستون
    3. ارتفاع و عرض انعطاف پذیر

    شرح مشکل از قرار زیر می باشد:
    نمایش پیش فرض پس زمینه

    تصویر بالا یک قالب سه ستونی می باشد که قالب ها به صورت پیش فرض به سمت چپ فلوت شده اند. هر ستون پس زمینه خود را دارد و پس زمینه به ارتفاع محتوای موجود در آن در می آید. این مورد جالی برای کاربران سایت نیست زیرا تغییر در ارتفاع باعث عدم نظم صفحات وب سایت از نظر چشمی می گردد. که HTML برای این سه لایه از قرار زیر است:
    <div class="wrap">
    <div class="content">...</div>
    <div class="sidebar">...</div>
    <div class="sidebar_two">...</div>
    </div>
    و کد CSS تصویر بالا:
    .content {
    width:60%;
    float:left;
    padding: 20px 30px;
    background: #fff;
    color: #6d7072;
    }
    .sidebar {
    width:20%;
    float:left;
    padding: 20px 30px;
    background: #5f6673;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar_two {
    width:20%;
    float:left;
    padding: 20px 30px;
    background: #434750;
    color: #ebeef3;
    font-size: 90%;
    }
    راه حل: استفاده از المان های کاذب pseudo-elements

    زمانی که در مورد ستون های با ارتفاع یکسان صحبت می نمایم قصد بر آورده کردن دو مورد را داریم:

    1. ستون می بایست به اندازه محتوای خود فضا داشته باشد
    2. ستون ها می بایست مستقل از محتوای وجود و در صورت نیاز ارتفاع فضای خود را افزایش دهند

    در مورد مثال ما، پس زمینه به اندازه فضای محتوا وجود دارد و فقط نیاز است پس زمینه می بایست تا انتهای فضای موجود کشیده شود. بنابراین در صورتی که قصد داریم پس زمینه ها تنظیمات ارتفاع متفاوتی داشته باشند، می توانیم ارتفاع را به گروه المان آن اختصاص دهیم. برای انجام این کار می بایست ازpseudo-elements استفاده نماییم. برای هر کدام از ستون ها از :before استفاده می نماییم تا یک pseudo-element ایجاد گردد. با تلفیق مکان کامل absolute positionin و z-index پس زمینه را به صورتی در نظر می گیرم تا تمام بخش را در بر گیرد. کد CSS جدید از قرار زیر است:
    .content, .content:before {
    width:60%;
    }
    .content {
    float:left;
    padding: 20px 30px;
    color: #6d7072;
    }
    .content:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 0;
    background: #fff;
    }.sidebar, .sidebar:before {
    width:20%;
    }
    .sidebar {
    float:left;
    padding: 20px 30px;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 60%;
    background-color: #5f6673;
    }
    .sidebar_two, .sidebar_two:before {
    width:20%;
    }
    .sidebar_two {
    float:left;
    padding: 20px 30px;
    color: #ebeef3;
    font-size: 90%;
    }
    .sidebar_two:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: -1;
    left: 80%;
    background-color: #434750;
    }
    که در نهایت ستون های ما با حالت زیر در می آید:

    این کد چگونه کار می کند

    مطابق تصویر زیر :before به مانند المان در بر دارنده المان فعلی عمل می نماید که ارتفاع آن با توجه به CSS در نظر گرفته شده به اندازه ارتفاع المان در بر گیرنده سه ستون
    wrap
    می باشد.

    نکته مهم: ستون های شما می بایست داخل المانی باشند که موقعیت آن position: relative; باشد تا absolute positioning آنها عمل نماید.
    کمتر و بیشتر از سه ستون

    برای انجام همین کار تا سه ستون و با استفاده از :before و :after می توانید مقاله Nicolas Gallagher را مطالعه نمایید. برای ستون های بالاتر از این تعداد نیز می توانید از "background holder" استفاده نمایید.
    لینک منبع:
    Quick Tip: Solving the Equal Height Column Conundrum - Tuts+ Web Design Tutorial

    چند نکته رو مد نظر داشته باشید
    قراردادن منبع به شکل لینک در امروزی خلاف قوانین هست فقط مجاز به استفاده به شکل تکست هستید
    کدها باید حتما در قالب کادر کد قرار بگیره به این شکل که شکا کپی پیست کردید کد بهم میریزه و عملا غیر قابل استفاده هست

    اصلاح شد
    2 کاربر پسندیده اند: aligator,محمدمحسن

    به عمل کار برآید ، نه سخن

    کپی رایت تمامی مطالب و قالب در اختــیـار سایت امــروزی است.
    استفاده از مطالب این سایت با درج لینک مطلب و نام نویسنده یا متـرجم ، بلامانع است.
    کــپـــــی غــیـــر مجـــــــاز = اخــــــــــراج دائمی
    سئوال تخصصی در پیام خصوصی = جواب نگرفتن و برخورد طبق قوانین
    << بند ویژه ارسال پست : کپی کلیه مطالب (تخصصی ؛ عمومی ) از کلیه انجمنها فارسی زبان به هر شکل ممنوع بوده و بدون تذکر با کاربر خاطی برخورد خواهد شد. >>



 

 

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •