Difference between revisions of "Popular syntax"

From rbachwiki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Using Susy Gallery function==
==Clamp==
HTML Markup
'''fluid designs without using media quires'''
<pre>  
<pre>
<div class="myphotos">
.box{
   <div> <img src="" alt=""> </div>
   margin: 15px auto;
   <div> <img src="" alt=""> </div>
   background: red;
   <div> <img src="" alt=""> </div>
   width: clamp(220px, 55%,300px);
   <div> <img src="" alt=""> </div>
   height: 150px;
}
//min width, prefered width, max width


</div>
</pre>
</pre>
CSS Markup
== Centering divs ==
 
<pre>
<pre>
$gallery_layout: layout(12 .125 fluid float after); // this has nothing to do with the gallery() function. this is just a custom layout thats also applied to the .myphotos
.myphotos{
@include full;
div{
@include with-layout($gallery_layout){
@include gallery(4);
margin-bottom: gutter();


}// layout
  .items {
    display: grid;
} //div
    grid-template-columns: repeat(4, 1fr);
}// myphotos
    background: white;
 
    .item {
      max-width: 350px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      padding: 1rem;
      align-self: center;
      justify-self: center;
     
    }
  }
</pre>
</pre>
The with-layout and the margin bottom is not necessary.
The with-layout allows you to use another layout with the gallery layout
The margin-bottom: gutter() gets the preset gutter margins and applies them to the bottom, making all the margins even.


==Using Alternate Layout==
== Centering Divs using AutoFit==
$nav_layout: layout(12 0 fluid float inside); // 12 columns 0 gutter fluid layout margins on the inside
 
  nav{
<p class="subhead">The auto-fit keyword does the same as auto-fill, except for this: empty tracks are collapsed. since you have 1fr set as the max-size in the minmax() function, the extra space is distributed among both grid items</p>
@include full;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
.nav-item{
 
@include span(3 of $nav-layout);
<p class="subhead">As described above, centering the grid items is not possible because there is no free space available on the line for alignment purposes.</p>
}
}
HTML markup
<pre>
<ul>
<li class="nav-item"> home </li>
<li class="nav-item"> home </li>
<li class="nav-item"> home </li>
</ul>
</pre>
using this particular layout for nav would remove the spacing between li items


==Use full to span and clear floats==
<p class="subhead">One way around this, which still allows for flexible column sizes, is to use max-content instead of 1fr, along with auto-fit.</p>
Use this on the on the containing div and then set spans for internal divs
this is like spanning the entire gird, but using the 'full' will apply clearfix and other settings that will prevent weird floating issues.


  @include full;
  grid-template-columns: repeat(auto-fit, minmax(100px, max-content));
justify-content: center;


example: HTML markup
== Centering Text Vertically in DIV ==
HTML Markup
<pre>
<pre>
<header>
<div class="main">
<div class="logo"> </div>
<div class="right"> <img src="https://picsum.photos/75/150?random=1" alt=""></div>
<div class="text"> </div>
<div class="left"> <p>some text</p></div>
</header>
</div>
</pre>
</pre>
CSS markup
 
'''CSS Markup'''
<pre>
<pre>
header{
.main{
@include full;
  display: flex;
.logo{
  align-items: center;
@include span(3);
}
.text{
@include span(last 7);
}
 
}
}
</pre>
</pre>


==Border Radius==
==Dealing with images==
  @include border-radius(12px);
  img{width: 100%}
 
  img{aspect-ratio: 1 / 1;
== Clearfix ==
    object-fit: contain;}
  @include clearfix
 
== Breakpoint using juice ==
@include bp(medium) affects medium and down
@include bp(large-up) // affects large and up
 
open the juice file, they have a bunch of presets
 
== Juice Center an element vertically and horizontally ==
When you use this the container has to have a position set. absolute, relative etc..
.element {
  @include centerer;
}
 
== Text Shadow ==
@include text-shadow(black 0 0 20px);


== Background Linear Gradient ==
or
@include background-image(linear-gradient($navcolor1, $navcolor2));
  img{aspect-ratio: 1 / .5;}


=== Tips ===
<p class="subhead"> Make images the same size without stretching and knock out the background</p>
when you use @include span(4 of 12) and you have three columns only 2 will display inline. So the fix is to @include span(4 of 14) This should fix the problem
img{
width: 15%;
aspect-ratio: 3/2;
object-fit: contain;
mix-blend-mode: color-burn;


== Include a background image in the right corner ==
==Media Queries==
@include background-image(url('../images/misc/greenplanet.png'));
      background-size: 400px; // makes the image 400 px wide
      background-repeat: no-repeat;
      background-position: 120% center; // sets the background position of an image default is top-left
      padding-right: 300px; // keeps the text away from the background image


== Using Fonts ==
/* On screens that are 992px or less, set the background color to blue */
  @import url('https://fonts.googleapis.com/css?family=David+Libre');
  @media screen and (max-width: 992px) {
$para2: 'David Libre', serif;
  body {
body{
    background-color: blue;
font-family:$para2;
  }
  }
  }
----
----


==[[#top|Back To Top]]-[[Main_Page| Home]] - [[Css|Category]]==
==[[#top|Back To Top]]-[[Main_Page| Home]] - [[Css|Category]]==

Latest revision as of 16:16, 17 June 2023

Clamp

fluid designs without using media quires

.box{
  margin: 15px auto;
  background: red;
  width: clamp(220px, 55%,300px);
  height: 150px;
}
//min width, prefered width, max width

Centering divs


  .items {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: white;
  
    .item {
      max-width: 350px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      padding: 1rem;
      align-self: center; 
      justify-self: center;
      
    }
  }

Centering Divs using AutoFit

The auto-fit keyword does the same as auto-fill, except for this: empty tracks are collapsed. since you have 1fr set as the max-size in the minmax() function, the extra space is distributed among both grid items

grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

As described above, centering the grid items is not possible because there is no free space available on the line for alignment purposes.

One way around this, which still allows for flexible column sizes, is to use max-content instead of 1fr, along with auto-fit.

grid-template-columns: repeat(auto-fit, minmax(100px, max-content));
justify-content: center;

Centering Text Vertically in DIV

HTML Markup

<div class="main">
<div class="right"> <img src="https://picsum.photos/75/150?random=1" alt=""></div>
<div class="left"> <p>some text</p></div>
</div>

CSS Markup

.main{
  display: flex;
  align-items: center;
}

Dealing with images

img{width: 100%}
img{aspect-ratio: 1 / 1;
    object-fit: contain;}

or

 img{aspect-ratio: 1 / .5;}

Make images the same size without stretching and knock out the background

img{
width: 15%;
aspect-ratio: 3/2;
object-fit: contain;
mix-blend-mode: color-burn;

Media Queries

/* On screens that are 992px or less, set the background color to blue */
@media screen and (max-width: 992px) {
 body {
   background-color: blue;
 }
}

Back To Top- Home - Category