saidooo: LESS css fertige funktionen

Beitrag lesen

  
/**  
*    Definierte CSS3 Cross-Browserlösungen zum individuellen einbinden  
*    Die Funktion muss noch umgeschrieben werden, dass auch Color-Stop-Gradienten verwendet werden können  
*/  
.gradient( @startcolor, @endcolor, @degree, @percentage )  
{  
    // Alle anderen  
    background-image: ~"linear-gradient( @{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
  
    //    Firefox  
    background-image: ~"-moz-linear-gradient( @{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
  
    //    Opera  
    background-image: ~"-o-linear-gradient(@{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
  
    //    Webkit ältere Browser (Safari/Chrome 10)  
    background-image: ~"-webkit-gradient(@{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
  
    //    Webkit neuere Browser (Chrome 11+)  
    background-image: ~"-webkit-linear-gradient(@{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
  
    // Microsoft IE 5.5 - 7 und 9  
        //    Bei GradientType = 1  wird es horizontal  
        //    Bei GradientType = 0  wird es vertikal  
    filter: ~"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='@{startcolor}', endColorstr='@{endcolor}')";  
  
    // Microsoft IE 8 und 10  
    background-image: ~"-ms-linear-gradient(bottom, @{startcolor}), @{endcolor} @{percentage}%)";  
  
    // KDE-Browser (Linux)  
    background-image: ~"-khtml-linear-gradient(@{degree}deg, @{startcolor}, @{endcolor} @{percentage}%)";  
}  
  
.gradient_nostop(  @degree, @color1, @percentage1, @color2, @percentage2, @color3, @percentage3, @color4, @percentage4)  
{  
    // Transparenz "Farbe"  
    // rgba(255,0,0,0)  
  
    //    Firefox  
      background: ~"-moz-linear-gradient(@{degree}deg, @{color1}  @{percentage1}%, @{color2} @{percentage2}%, @{color3}  @{percentage3}%, @{color4}  @{percentage4}%)";  
  
    //    Chrome10+,Safari5.1+  
    background: ~"-webkit-linear-gradient(@{degree}deg, @{color1}  @{percentage1}%, @{color2} @{percentage2}%, @{color3}  @{percentage3}%, @{color4}  @{percentage4}%)";  
  
    //    Webkit Chrome,Safari4+  
        // degree nicht eingesetzt  
    background: ~"-webkit-gradient(linear, left top, left bottom, color-stop(@{percentage1}%,@{color1}), color-stop(@{percentage2}%,@{color2}), color-stop(@{percentage3}%,@{color3}), color-stop(@{percentage4}%,@{color4}))";  
  
    // Opera  
    background: ~"-o-linear-gradient(@{degree}deg, @{color1}  @{percentage1}%, @{color2} @{percentage2}%, @{color3}  @{percentage3}%, @{color4}  @{percentage4}%)";  
  
    //    IE10+  
    background: ~"-ms-linear-gradient(@{degree}deg, @{color1}  @{percentage1}%, @{color2} @{percentage2}%, @{color3}  @{percentage3}%, @{color4}  @{percentage4}%)";  
  
    // W3C  
    background: ~"linear-gradient(@{degree}deg, @{color1}  @{percentage1}%, @{color2} @{percentage2}%, @{color3}  @{percentage3}%, @{color4}  @{percentage4}%)";  
  
    // IE6-9  
        // Nur erste und letzte Farbe werden interpretiert  
        //    Bei GradientType = 1  wird es horizontal  
        //    Bei GradientType = 0  wird es vertikal  
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='@{color1}', endColorstr='@{color4}');  
}  
  
.background_image( @imagefilename )  
{  
    background-image: url('@{img_path}@{imagefilename}');  
    background-repeat: no-repeat;  
    background-position: 0 center;  
}  
  
.border_radius( @lefttop : @border_radius_global, @righttop : @border_radius_global, @rightbottom : @border_radius_global, @leftbottom : @border_radius_global)  
{  
    //    Alle anderen  
    border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    //    Firefox  
    -moz-border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    //    Opera  
    -o-border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    //    Chrome, Safari  
    -webkit-border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    // KDE-Browser (Linux)  
    -khtml-border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    // IE 10  
    -ms-border-radius: ~"@{lefttop}px @{righttop}px @{rightbottom}px @{leftbottom}px";  
  
    //    Workaround für IE 5-7 einbinden (IE 9 beherscht das komischerweise auch ohne extra Angabe)  
    //---Diese Datei muss sich im Webroot befinden, relative Links und absolute Links werden von IE ignoriert und deshalb muss sich ie-css3.htc neben der .htaccess befinden  
    behavior: url(ie-css3.htc);  
  
    //---    Damit der Hintergrund nicht aus der Box herausscheint  
  
    //    Firefox  
    -moz-background-clip: padding;  
  
    // Chrome, Safari  
    -webkit-background-clip: padding-box;  
  
    //    Alle anderen  
    background-clip: padding-box;  
}  
  
.transition( @seconds : 5 )  
{  
    //    Alle anderen  
    transition: ~"all @{seconds}s ease-in";  
  
    //    Firefox  
    -moz-transition: ~"all @{seconds}s ease-in";  
  
    //    Opera  
    -o-transition: ~"all @{seconds}s ease-in";  
  
    //    Chrome, Safari  
    -webkit-transition: ~"all @{seconds}s ease-in";  
  
    // KDE-Browser (Linux)  
    -khtml-transition: ~"all @{seconds}s ease-in";  
  
    // IE 10  
    -ms-transition: ~"all @{seconds}s ease-in";  
  
    //    Workaround für IE 5-7 einbinden (IE 9 beherscht das komischerweise auch ohne extra Angabe)  
    // Diese Datei muss sich im Webroot befinden, relative Links und absolute Links werden von IE ignoriert und deshalb muss sich ie-css3.htc neben der .htaccess befinden  
    behavior: url(ie-css3.htc);  
}  
  
  
//    Alles weitere folgt, wenn benötigt  
/**  
*    Rotate  
*/  
.box_rotate( @degrees ) {  
    // Alle anderen  
    transform: ~"rotate( @{degrees}deg)";  
  
    // Safari, Chrome  
    -webkit-transform: ~"rotate( @{degrees}deg)";  
  
    // Firefox  
    -moz-transform: ~"rotate( @{degrees}deg)";  
  
    //    Internet Explorer ab 9  
    -ms-transform: ~"rotate( @{degrees}deg)";  
  
    // Opera  
    -o-transform: ~"rotate( @{degrees}deg)";  
  
    // Internet Explorer 6 bis 9  
    // Degree übergabe fehlt  
    filter: ~"progid:DXImageTransform.Microsoft.Matrix( M11=1, M12=-9.005046977739906e-37, M21=9.005046977739906e-37, M22=1, sizingMethod='auto expand')";  
    zoom: 1;  
  
    // KDE-Browser (Linux)  
    -khtml-transform: ~"rotate( @{degrees}deg)";  
}  
/**  
*    Box-Shadow  
*/  
// Unvollständig, uncomplete  
.box_shadow {  
  -webkit-box-shadow: 0px 0px 4px 0px #ffffff; /* Saf3-4, iOS 4.0.2 - 4.2, Android 2.3+ */  
          box-shadow: 0px 0px 4px 0px #ffffff; /* Opera 10.5, IE9, FF4+, Chrome 6+, iOS 5 */  
}  
  
/**  
*    Box RGBa  
*/  
// Unvollständig, uncomplete  
.box_rgba {  
 background-color: transparent;  
 background-color: rgba(180, 180, 144, 0.6);  /* FF3+, Saf3+, Opera 10.10+, Chrome, IE9 */  
           filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99B4B490,endColorstr=#99B4B490); /* IE6–IE9 */  
           zoom: 1;  
}  

Unvollständig und noch nicht wirklich vollständig auf Richtigkeit geprüft