سفارش تبلیغ
صبا ویژن

شازده


نیازمندیهای مهناد -درج آگهی رایگان - تبلیغات رایگان - تبلیغات اینترنتی - خرید و فروش بی واسطه

نظر
&

خاصیت display در css + مثال های کاربردی از display


 

 

  • خاصیت display در css + مثال های کاربردی از display

    چگونه از display در Css استفاده کنیم ؟ منظور از Display چیست؟ چگونه می‌توانیم یک بلاک را به صورت خطی چاپ کنیم؟ منظور از inline چیست؟ در این مقاله می‌خواهیم با خاصیت display یا ویژگی display به صورت کامل آشنا بشیم.

    سرفصل‌های پست

    خاصیت display

    با استفاده از خاصیت display می تونیم نحوه نمایش عناصر رو تغییر بدیم، و حتی به ماهیت اون ها هم دسترسی داشته باشیم.

    خاصیت display مقادیر متفاوتی رو می تونه قبول کنه که مهم ترین اون ها عبارتند از:

    • inline
    • inline-
    • table
    • grid
    • flex

    تو این مقاله، ما سه مقدار اول رو بررسی می کنیم و دو مقدار آخر رو در مقاله های flexbox و grid system بررسی می‌کنیم.

    مرور مقادیر inline و

    بیاین یک بار دیگه به یکی از مثال های مقاله مفاهیم inline و نگاه کنیم.

    کد HTML:

    <span class="span1"> SPAN 1 </span>
    
    <span class="span2"> SPAN 2 </span>

    کد CSS:

    .span1{
    
    color:white;
    background-color:red;
    padding:5px;
    }

    .span2{
    color:white;
    background-color:blue;
    padding:5px;
    }

    نتیجه:

    تعامل دو عنصر inline


    یاد گرفتیم که نحوه نمایش inline سه ویژگی داشت:
    • یه خط رو اشغال نمی کرد.
    • نمیتونست width و height قبول کنه.
    • در padding و margin بالا و پایین عنصر، به مشکل برمی‌خورد.

    حالا چطوری این مشکلات رو برطرف کنیم؟ کافیه نحوه نمایش این دو عنصر رو تغییر بدیم. پس کد CSS رو به شکل زیر می‌نویسیم:

    .span1{
    
    display: ;
    color:white;
    background-color:red;
    padding:5px;
    }

    .span2{
    display: ;
    color:white;
    background-color:blue;
    padding:5px;
    }

    نتیجه هم به فرم زیر تغییر می‌کنه:

    دو span با نحوه نمایش


    همونطور که میبینیم، برخلاف اینکه نحوه نمایش پیش فرض عنصر مورد نظر، inline هست، اما تونستیم با استفاده از خاصیت display اون رو به یک عنصر تبدیل کنیم.

    این کار رو به صورت برعکس با عناصر هم میشه انجام داد. به مثال زیر توجه کنین:

    کد HTML:

    <div class="div1"> DIV 1 </div>
    
    <div class="div2"> DIV 2 </div>

    کد CSS:

    .div1{
    
    color:white;
    display:inline;
    padding:5px;
    background-color:red;
    }

    .div2{
    color:white;
    display:inline;
    padding:5px;
    background-color:blue;
    }

    نتیجه:دو div با نحوه نمایش inline


    مقدار inline-

    این مقدار، یکی از کاربردی ترین مقادیر خاصیت display محسوب میشه. چرا که می تونه به عنصر موردنظر ما، همزمان دو مقدار inline و رو اختصاص بده.

    به چه صورت؟ مگه ممکنه؟

    • کاری می کنه که عنصر مورد نظر، یه خط رو اشغال نکنه ( ویژگی inline )
    • همزمان این قابلیت رو به عنصر میده که خاصیت های width و height رو قبول کنه ( ویژگی )
    • و کاری می‌کنه که عنصر، به درستی خاصیت margin و padding هر چهار طرف رو قبول کنه.

    به مثال زیر توجه کنین:

    کد های inline-


    <span>The span</span>
    
    <p>The paragraph</p>
    span{
    
    color:white;
    background-color:green;
    display:inline-;
    width:100px;
    height:100px;
    }

    p{
    color:white;
    background-color:darkblue;
    display:inline-;
    width:100px;
    height:100px;
    }

    دو عنصر با نحوه نمایش inline-


    در اینجا، تنها با دستور display:inline- تونستیم ویژگی رو به عنصر inline یعنی span، و ویژگی inline رو به عنصر یعنی p اختصاص بدیم.

    در مثال بالا، عنصر p همراه با عنصر قبل تو یه خط قرار گرفته و عنصر span تونسته خاصیت های width و height رو قبول کنه.

    مقدار table

    این مقدار، از روش های طبقه بندی‌ محتوای منسوخ شده در طراحی وب سایت هست و زیاد بهش نمیپردازیم.

    بنابراین لازم نیست که وقت زیادی رو براش صرف کنین، مگه اینکه بخواین یک دانشمند در زمینه CSS باشین ??

    این مقدار رو عناصر پدر می‌گیرن. به این معنی که مثل مقادیر یا ‌inline، به صورت مستقیم روی عنصر مورد نظر تاثیر نمیزاره، بلکه روی فرزندان اون تاثیر می‌زاره.

    به کد زیر توجه کنین:

    کد های نحوه نمایش table


    <div class="div1"></div>
    
    <div class="div2"></div>
    <div class="div3"></div>
    body{
    
    display: table;
    }

    div{
    width:100px;
    height:100px;
    display: table-cell;
    }

    .div1{
    background-color:blue;
    }

    .div2{
    background-color:green;
    }

    .div3{
    background-color:red;
    }

    و نتیجه عبارت است از:

    عناصر با نحوه نمایش table


    همزمان که به عنصر پدر، دستور display:table  رو اختصاص دادیم، به عناصر فرزند دستور display:table-cells رو اختصاص می‌دیم.

    پایان ترم: یه سوال استک اور فلویی!

     

    وب سایت استک اور فلو (علی اسمعیلی بهش میگه عمو استک ) ، وب سایتیه که برنامه نویسا و کدنویسا سوالاتشون رو اونجا مطرح می‌کنن تا دیگران کمکشون کنن. با توجه به مباحثی که تا الان یاد گرفتین، باید توانایی کمک به کدنویسی که سوال زیر رو مطرح کرده داشته باشین.

    سوال:

    سلام! می‌دونم یکم سوالم ابتداییه، اما واقعا منو درگیر کرده.

    من کد زیر رو نوشتم:

    <div class="parent">
    
    <span class="title"></span>
    <div class="content"></div>
    </div>
    div.parent{
    
    width:500px;
    height:200px;
    }

    div.content , span.title{
    width:50%;
    height:100%;
    }

    div.content{
    background-color:indianred;
    }

    span.title{
    background-color:lightblue;
    }

    هر کاری می‌کنم عنصر اولم (که یک span هست) ظاهر نمیشه و عنصر دوم تو صفحه نمایش داده میشه.

    لطفا اگه چیزی به ذهنتون می‌رسه بگین، ممنونتون میشم ??

    به ایمیل کسانی که پاسخ درست و کامل رو در نظرات بگن 10 هزارتومان در پنل کاربری آکادمی میزفا حسابشون شارژ میشه. (البته باید در آکادمی میزفا ثبت‌نام کنید تا بتونید از این امتیاز استفاده کنید.)

    نتیجه گیری

    تو این مقاله اموزش css3 ، با مقادیر متفاوتی که می‌تونیم به نحوه نمایش عنصرمون اختصاص بدیم آشنا شدیم.

    دو مقدار رو یاد گرفتیم، مقدار inline- و مقدار table.

    متوجه شدیم که توسط مقدار inline-، می‌تونیم همزمان یک عنصر inline و داشته باشیم. این مسئله به ما کمک می‌کرد که بتونیم عناصر رو در یک خط جا بدیم و همزمان، به عناصر inline ابعاد بدیم.

    در نهایت، به شکل مختصر با مقدار table آشنا شدیم و دیدیم که به چه شکل می‌تونه عمل کنه.

    در جلسه بعدی به آموزش flexbox می پردازیم.

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

    مدیر محتوا: علی اسمعیلی