برنامه نویسی

طرح بندی – چالش های CSS – انجمن DEV

Summarize this content to 400 words in Persian Lang
می توانید تمام کدها را در این پست در repo Github پیدا کنید.

شما می توانید تصویری را در اینجا بررسی کنید:

طرح بندی رایج از طریق CSS

طرح ناوبری ثابت

lang=”en”>

charset=”UTF-8″ />
name=”viewport” content=”width=device-width, initial-scale=1.0″ />
http-equiv=”X-UA-Compatible” content=”ie=edge” />
Fixed Navigation
rel=”stylesheet” href=”styles.css” />

This is a navbar
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

nav {
position: fixed;
top: 0;
z-index: 1000;
width: 100%;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

طرح دو ستونی

lang=”en”>

charset=”UTF-8″ />
name=”viewport” content=”width=device-width, initial-scale=1.0″ />
http-equiv=”X-UA-Compatible” content=”ie=edge” />
Two Columns Layout
rel=”stylesheet” href=”styles.css” />

class=”table-container”>
class=”left”>
Left Side

class=”right”>
Right Side

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

.float-container .left {
width: 200px;
float: left;
background-color: tomato;
}

.float-container .right {
margin-left: 200px;
background-color: aqua;
}

.absolute-container {
position: relative;
}

.absolute-container .left {
width: 200px;
position: absolute;
top: 0;
left: 0;
background-color: tomato;
}

.absolute-container .right {
margin-left: 200px;
background-color: aqua;
}

.bfc-container .left {
width: 200px;
float: left;
background-color: tomato;
}

.bfc-container .right {
overflow: hidden;
background-color: aqua;
}

.flex-container {
display: flex;
}

.flex-container .left {
width: 200px;
background-color: tomato;
}

.flex-container .right {
flex: 1;
background-color: aqua;
}

.grid-container {
display: grid;
grid-template-columns: 200px 1fr;
}

.grid-container .left {
background-color: tomato;
}

.grid-container .right {
background-color: aqua;
}

.table-container {
display: table;
}

.table-container .left {
display: table-cell;
background-color: tomato;
}

.table-container .right {
display: table-cell;
background-color: aqua;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

طرح سه ستونی

lang=”en”>

charset=”UTF-8″ />
name=”viewport” content=”width=device-width, initial-scale=1.0″ />
http-equiv=”X-UA-Compatible” content=”ie=edge” />
Three Columns Layout
rel=”stylesheet” href=”styles.css” />

class=”flex-container”>
class=”left”>Left
class=”middle”>Middle
class=”right”>Right

class=”grid-container”>
class=”left”>Left
class=”middle”>Middle
class=”right”>Right

class=”absolute-container”>
class=”left”>Left
class=”middle”>Middle
class=”right”>Right

class=”float-container”>
class=”left”>Left
class=”middle”>Middle
class=”right”>Right

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

.flex-container {
display: flex;
}

.flex-container .left {
width: 200px;
background-color: tomato;
}

.flex-container .middle {
flex: 1;
background-color: blanchedalmond;
}

.flex-container .right {
width: 200px;
background-color: aqua;
}

.grid-container {
display: grid;
grid-template-columns: 200px 1fr 200px;
}

.grid-container .left {
background-color: tomato;
}

.grid-container .middle {
background-color: blanchedalmond;
}

.grid-container .right {
background-color: aqua;
}

.absolute-container {
position: relative;
}

.absolute-container .left,
.absolute-container .right {
position: absolute;
width: 200px;
top: 0;
}

.absolute-container .left {
left: 0;
background-color: tomato;
}

.absolute-container .right {
right: 0;
background-color: aqua;
}

.absolute-container .middle {
margin-left: 200px;
margin-right: 200px;
background-color: blanchedalmond;
}

.float-container .left {
width: 200px;
float: left;
background-color: tomato;
}

.float-container .right {
width: 200px;
float: right;
background-color: aqua;
}

.float-container .middle {
margin-left: 200px;
margin-right: 200px;
background-color: blanchedalmond;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جام مقدس

lang=”en”>

charset=”UTF-8″ />
name=”viewport” content=”width=device-width, initial-scale=1.0″ />
http-equiv=”X-UA-Compatible” content=”ie=edge” />
Holy Grail
rel=”stylesheet” href=”styles.css” />

Header
class=”columns”>
Navigation
Main
Sidebar

Footer

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

body {
min-height: 100vh;
}

#root {
display: flex;
flex-direction: column;
min-height: 100vh;
}

header,
nav,
main,
aside,
footer {
text-align: center;
padding: 12px;
}

header {
height: 60px;
background-color: tomato;
}

.columns {
display: flex;
flex-grow: 1;
}

nav {
flex-shrink: 0;
width: 100px;
background-color: coral;
}

main {
flex-grow: 1;
background-color: moccasin;
}

aside {
flex-shrink: 0;
width: 100px;
background-color: sandybrown;
}

footer {
height: 100px;
background-color: slategray;
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرجع

می توانید تمام کدها را در این پست در repo Github پیدا کنید.

شما می توانید تصویری را در اینجا بررسی کنید:


طرح بندی رایج از طریق CSS


طرح ناوبری ثابت


 lang="en">
  
     charset="UTF-8" />
     name="viewport" content="width=device-width, initial-scale=1.0" />
     http-equiv="X-UA-Compatible" content="ie=edge" />
    </span>Fixed Navigation<span class="nt"/>
    <span class="nt"><link/> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"styles.css"</span> <span class="nt">/></span>
  <span class="nt"/>
  <span class="nt"/>
    <span class="nt"><nav/></span>This is a navbar<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
    <span class="nt"/>Test<span class="nt"/>
  <span class="nt"/>
<span class="nt"/>
</span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

nav {
  position: fixed;
  top: 0;
  z-index: 1000;
  width: 100%;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


طرح دو ستونی


 lang="en">
  
     charset="UTF-8" />
     name="viewport" content="width=device-width, initial-scale=1.0" />
     http-equiv="X-UA-Compatible" content="ie=edge" />
    </span>Two Columns Layout<span class="nt"/>
    <span class="nt"><link/> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"styles.css"</span> <span class="nt">/></span>
  <span class="nt"/>
  <span class="nt"/>
    <span class="c"><!--
    <div class="float-container">
      <div class="left">
        <h1><span class="ez-toc-section" id="Left_Side"></span>Left Side<span class="ez-toc-section-end"></span></h1>
      </div>
      <div class="right">
        <h1><span class="ez-toc-section" id="Right_Side"></span>Right Side<span class="ez-toc-section-end"></span></h1>
      </div>
    </div>
    --></span>

    <span class="c"><!--
    <div class="absolute-container">
      <div class="left">
        <h1><span class="ez-toc-section" id="Left_Side-2"></span>Left Side<span class="ez-toc-section-end"></span></h1>
      </div>
      <div class="right">
        <h1><span class="ez-toc-section" id="Right_Side-2"></span>Right Side<span class="ez-toc-section-end"></span></h1>
      </div>
    </div>
    --></span>

    <span class="c"><!--
    <div class="bfc-container">
      <div class="left">
        <h1><span class="ez-toc-section" id="Left_Side-3"></span>Left Side<span class="ez-toc-section-end"></span></h1>
      </div>
      <div class="right">
        <h1><span class="ez-toc-section" id="Right_Side-3"></span>Right Side<span class="ez-toc-section-end"></span></h1>
      </div>
    </div>
    --></span>

    <span class="c"><!--
    <div class="flex-container">
      <div class="left">
        <h1><span class="ez-toc-section" id="Left_Side-4"></span>Left Side<span class="ez-toc-section-end"></span></h1>
      </div>
      <div class="right">
        <h1><span class="ez-toc-section" id="Right_Side-4"></span>Right Side<span class="ez-toc-section-end"></span></h1>
      </div>
    </div>
    --></span>

    <span class="c"><!--
    <div class="grid-container">
      <div class="left">
        <h1><span class="ez-toc-section" id="Left_Side-5"></span>Left Side<span class="ez-toc-section-end"></span></h1>
      </div>
      <div class="right">
        <h1><span class="ez-toc-section" id="Right_Side-5"></span>Right Side<span class="ez-toc-section-end"></span></h1>
      </div>
    </div>
    --></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"table-container"</span><span class="nt">></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"left"</span><span class="nt">></span>
        <span class="nt"/>Left Side<span class="nt"/>
      <span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"right"</span><span class="nt">></span>
        <span class="nt"/>Right Side<span class="nt"/>
      <span class="nt"/></p></span>
    <span class="nt"/></div></span>
  <span class="nt"/>
<span class="nt"/>
</span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

.float-container .left {
  width: 200px;
  float: left;
  background-color: tomato;
}

.float-container .right {
  margin-left: 200px;
  background-color: aqua;
}

.absolute-container {
  position: relative;
}

.absolute-container .left {
  width: 200px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: tomato;
}

.absolute-container .right {
  margin-left: 200px;
  background-color: aqua;
}

.bfc-container .left {
  width: 200px;
  float: left;
  background-color: tomato;
}

.bfc-container .right {
  overflow: hidden;
  background-color: aqua;
}

.flex-container {
  display: flex;
}

.flex-container .left {
  width: 200px;
  background-color: tomato;
}

.flex-container .right {
  flex: 1;
  background-color: aqua;
}

.grid-container {
  display: grid;
  grid-template-columns: 200px 1fr;
}

.grid-container .left {
  background-color: tomato;
}

.grid-container .right {
  background-color: aqua;
}

.table-container {
  display: table;
}

.table-container .left {
  display: table-cell;
  background-color: tomato;
}

.table-container .right {
  display: table-cell;
  background-color: aqua;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


طرح سه ستونی


 lang="en">
  
     charset="UTF-8" />
     name="viewport" content="width=device-width, initial-scale=1.0" />
     http-equiv="X-UA-Compatible" content="ie=edge" />
    </span>Three Columns Layout<span class="nt"/>
    <span class="nt"><link/> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"styles.css"</span> <span class="nt">/></span>
  <span class="nt"/>
  <span class="nt"/>
    <span class="nt"><div> <span class="na">class=</span><span class="s">"flex-container"</span><span class="nt">></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"left"</span><span class="nt">></span>Left<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"middle"</span><span class="nt">></span>Middle<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"right"</span><span class="nt">></span>Right<span class="nt"/></p></span>
    <span class="nt"/></div></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"grid-container"</span><span class="nt">></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"left"</span><span class="nt">></span>Left<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"middle"</span><span class="nt">></span>Middle<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"right"</span><span class="nt">></span>Right<span class="nt"/></p></span>
    <span class="nt"/></div></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"absolute-container"</span><span class="nt">></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"left"</span><span class="nt">></span>Left<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"middle"</span><span class="nt">></span>Middle<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"right"</span><span class="nt">></span>Right<span class="nt"/></p></span>
    <span class="nt"/></div></span>

    <span class="nt"><div> <span class="na">class=</span><span class="s">"float-container"</span><span class="nt">></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"left"</span><span class="nt">></span>Left<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"middle"</span><span class="nt">></span>Middle<span class="nt"/></p></span>
      <span class="nt"><p> <span class="na">class=</span><span class="s">"right"</span><span class="nt">></span>Right<span class="nt"/></p></span>
    <span class="nt"/></div></span>
  <span class="nt"/>
<span class="nt"/>
</span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

.flex-container {
  display: flex;
}

.flex-container .left {
  width: 200px;
  background-color: tomato;
}

.flex-container .middle {
  flex: 1;
  background-color: blanchedalmond;
}

.flex-container .right {
  width: 200px;
  background-color: aqua;
}

.grid-container {
  display: grid;
  grid-template-columns: 200px 1fr 200px;
}

.grid-container .left {
  background-color: tomato;
}

.grid-container .middle {
  background-color: blanchedalmond;
}

.grid-container .right {
  background-color: aqua;
}

.absolute-container {
  position: relative;
}

.absolute-container .left,
.absolute-container .right {
  position: absolute;
  width: 200px;
  top: 0;
}

.absolute-container .left {
  left: 0;
  background-color: tomato;
}

.absolute-container .right {
  right: 0;
  background-color: aqua;
}

.absolute-container .middle {
  margin-left: 200px;
  margin-right: 200px;
  background-color: blanchedalmond;
}

.float-container .left {
  width: 200px;
  float: left;
  background-color: tomato;
}

.float-container .right {
  width: 200px;
  float: right;
  background-color: aqua;
}

.float-container .middle {
  margin-left: 200px;
  margin-right: 200px;
  background-color: blanchedalmond;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


جام مقدس


 lang="en">
  
     charset="UTF-8" />
     name="viewport" content="width=device-width, initial-scale=1.0" />
     http-equiv="X-UA-Compatible" content="ie=edge" />
    </span>Holy Grail<span class="nt"/>
    <span class="nt"><link/> <span class="na">rel=</span><span class="s">"stylesheet"</span> <span class="na">href=</span><span class="s">"styles.css"</span> <span class="nt">/></span>
  <span class="nt"/>
  <span class="nt"/>
    <span class="nt"><header/></span>Header<span class="nt"/>
    <span class="nt"><div> <span class="na">class=</span><span class="s">"columns"</span><span class="nt">></span>
      <span class="nt"><nav/></span>Navigation<span class="nt"/>
      <span class="nt"><main/></span>Main<span class="nt"/>
      <span class="nt"><aside/></span>Sidebar<span class="nt"/>
    <span class="nt"/></div></span>
    <span class="nt"><footer/></span>Footer<span class="nt"/>
  <span class="nt"/>
<span class="nt"/>
</span></span></span></span></span></code></pre>
<div class="highlight__panel js-actions-panel">
<div class="highlight__panel-action js-fullscreen-code-action">
    <svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewbox="0 0 24 24" class="highlight-action crayons-icon highlight-action--fullscreen-on"><title>وارد حالت تمام صفحه شوید
    

از حالت تمام صفحه خارج شوید

body {
  min-height: 100vh;
}

#root {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

header,
nav,
main,
aside,
footer {
  text-align: center;
  padding: 12px;
}

header {
  height: 60px;
  background-color: tomato;
}

.columns {
  display: flex;
  flex-grow: 1;
}

nav {
  flex-shrink: 0;
  width: 100px;
  background-color: coral;
}

main {
  flex-grow: 1;
  background-color: moccasin;
}

aside {
  flex-shrink: 0;
  width: 100px;
  background-color: sandybrown;
}

footer {
  height: 100px;
  background-color: slategray;
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید


مرجع

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا