Gridstack.js: рд╕реБрдзрд╛рд░ рд╕реБрдЭрд╛рд╡

рдХреЛ рдирд┐рд░реНрдорд┐рдд 2 рдорд╛рд░реНрдЪ 2015  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: gridstack/gridstack.js

рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рд╣реА рдмрдирд╛рдпрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдПрд╕рдПрдПрд╕рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕ рдЫреЛрдЯреЗ рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧреНрд░рд┐рдб рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

.grid-stack-item {

    $gridstack-columns: 12;

    <strong i="7">@for</strong> $i from 1 through $gridstack-columns {
        &[data-gs-width='#{$i}'] { width: (100% / $gridstack-columns) * $i; }
        &[data-gs-x='#{$i}'] { left: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-min-width='#{$i}'] { min-width: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-max-width='#{$i}'] { max-width: (100% / $gridstack-columns) * $i; }
    }
}

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде README рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд╢реБрдХреНрд░рд┐рдпрд╛ред

рдмрд╛рддрдЪреАрдд рдХреЗ рд▓рд┐рдП рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЪреМрдбрд╝рд╛рдИ рдЪрд░, рдпрд╛ рддреЛ рдкреНрд░рддрд┐рд╢рдд рдпрд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдФрд░ рддрд░рд▓ рд╣реЛрдирд╛ рд╣рдореЗрд╢рд╛ рд╣рд╛рде рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ... рдПрдХ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдЙрддреНрддрд░рджрд╛рдпреА рдХрдВрдЯреЗрдирд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рджреВрд╕рд░рд╛ рд╣реИ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╡рд┐рдЬреЗрдЯ рдЗрд╕рд▓рд┐рдП рдХрднреА-рдХрднреА рдкрд┐рдХреНрд╕реЗрд▓ рдЖрдпрд╛рдо рд╣реЛрдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЙрд╕ рддрд░реНрдХ рдХреЛ рдореАрдбрд┐рдпрд╛ рдХреНрд╡реЗрд░реА рдХреЗ рдЕрдВрджрд░ рд░рдЦрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд┐рдХреНрд╕реЗрд▓/рдкреНрд░рддрд┐рд╢рдд рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдЬреЗрдЯ рдЖрдХрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

$gridstack-columns: 12;
$resolution: 1440px;

<strong i="7">@media</strong> (min-width: 1440px) {
   .container {
      .grid-stack {
         .grid-stack-item {
            position: absolute !important;

            <strong i="8">@for</strong> $i from 1 through $gridstack-columns {
               &[data-gs-width='#{$i}'] { width: ($resolution / $gridstack-columns) * $i; }
               &[data-gs-x='#{$i}'] { left: ($resolution / $gridstack-columns) * $i; }
               &.grid-stack-item[data-gs-min-width='#{$i}'] { min-width: ($resolution / $gridstack-columns) * $i; }
               &.grid-stack-item[data-gs-max-width='#{$i}'] { max-width: ($resolution / $gridstack-columns) * $i; }
            }
         }
      }
   }
}

рдпрд╣рд╛рдБ рдПрдХ рдХрдо рд╕реАрдПрд╕рдПрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ:

<strong i="6">@columns</strong>: 6;
.gs-item(@n) when (<strong i="7">@n</strong> > 0) {
  .gs-item(<strong i="8">@n</strong> - 1);

  &[data-gs-width="@{n}"] { width: (100% / @columns) * @n; }
  &[data-gs-x="@{n}"] { left: (100% / @columns) * @n; }
  &[data-gs-min-width="@{n}"] { min-width: (100% / @columns) * @n; }
  &[data-gs-max-width="@{n}"] { max-width: (100% / @columns) * @n; }
}

.grid-stack-item {
  .gs-item(@columns);
}

@ascendantofrain @cspeer @troolee @radiolips рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
рдореИрдВрдиреЗ 36 рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рдо рдмрдирд╛рдП, рдПрд╕рдПрдПрд╕ рдЪрд▓рд╛рдпрд╛, рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛, рдЪреМрдбрд╝рд╛рдИ рдЕрдм 36 рдХреЙрд▓рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░% s рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдбреНрд░реИрдЧ/рдбреНрд░реЙрдк рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рдЕрдиреБрднрд╡ рд╣реИред рдореИрдВ 36 рдХреЙрд▓рдо рдЧреНрд░рд┐рдб рдореЗрдВ рдбреНрд░реИрдЧ рдПрдВрдб рдбреНрд░реЙрдк рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВ, рдпрд╣ рдЗрдзрд░-рдЙрдзрд░ рдШреВрдорддрд╛ рд░рд╣рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ js рдкрд░рд┐рд╡рд░реНрддрди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА? рдирд╣реАрдВ рджрд┐рдЦрддрд╛...

@mandys @ascendantofrain рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрд░ gridstack.css рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

.grid-stack > .grid-stack-item {

    $gridstack-columns: 200;

    <strong i="8">@for</strong> $i from 1 through $gridstack-columns {
        &[data-gs-width='#{$i}'] { width: (100% / $gridstack-columns) * $i; }
        &[data-gs-x='#{$i}'] { left: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-min-width='#{$i}'] { min-width: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-max-width='#{$i}'] { max-width: (100% / $gridstack-columns) * $i; }
    }
}

рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ рдЕрддрд┐рд╡реНрдпрд╛рдкреА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред

рд╕рдВрд╕реНрдХрд░рдг 0.3 рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ min-width рднреА рдЬреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ (рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред)

.grid-stack > .grid-stack-item {

    $gridstack-columns: 36;

    <strong i="7">@for</strong> $i from 1 through $gridstack-columns {
        &[data-gs-width='#{$i}'] { 
          width: (100% / $gridstack-columns) * $i;
          min-width: (100% / $gridstack-columns) * $i; 
        }
        &[data-gs-x='#{$i}'] { left: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-min-width='#{$i}'] { min-width: (100% / $gridstack-columns) * $i; }
        &.grid-stack-item[data-gs-max-width='#{$i}'] { max-width: (100% / $gridstack-columns) * $i; }
    }
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bhutiyakishan1 picture bhutiyakishan1  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

javayoung picture javayoung  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GeniusWiki picture GeniusWiki  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vhdm picture vhdm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adumesny picture adumesny  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ