Changeset 74647 in spip-zone


Ignore:
Timestamp:
Aug 8, 2013, 9:05:05 AM (6 years ago)
Author:
arno@…
Message:

Possibilité d'utiliser couleurs roba dans -spip-gradient:
-spip-gradient: left, rgba(100,50,50, 0.85), rgba(50,100,50,0);

Location:
_plugins_/css_imbriques
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/css_imbriques/css_imbriques_fonctions.php

    r70864 r74647  
    9393        if (preg_match(",^\#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])$,", $coul, $conv)) {
    9494                $coul = "#".$conv[1].$conv[1].$conv[2].$conv[2].$conv[3].$conv[3];
     95        } else if ( preg_match("#([0-9]+),\ ?([0-9]+),\ ?([0-9]+),\ ?([0-9\.]+)#", $coul, $conv) ) {
     96                $r = css_imbriques_conv_dec255($conv[1]);
     97                $g = css_imbriques_conv_dec255($conv[2]);
     98                $b = css_imbriques_conv_dec255($conv[3]);
     99                $a = $conv[4];
     100
     101                                $red = dechex($r);
     102                                $green = dechex($g);
     103                                $blue = dechex($b);
     104                                $alpha = dechex(round($a * 255));
     105                               
     106                                if (strlen($red) == 1) $red = "0".$red;
     107                                if (strlen($green) == 1) $green = "0".$green;
     108                                if (strlen($blue) == 1) $blue = "0".$blue;
     109                                if (strlen($alpha) == 1) $alpha = "0".$alpha;
     110
     111               
     112                $coul = "$alpha$red$green$blue";
    95113        }
    96114       
     
    217235                        // -spip-gradient: top, #000000, #ffffff;
    218236                        // directions: "top" (vertical) ou "left" (horizontal)
    219                         if (preg_match("#\ ?(.*)\ ?\,\ ?(.*)\ ?\,\ ?(.*)\ ?#", $val, $conv)) {
     237                        if (preg_match("#\ ?(.*)\ ?\,\ ?rgba\((.*)\)\ ?\,\ ?rgba\((.*)\)\ ?#", $val, $conv)) {
    220238                                $dir = strtolower($conv[1]);
    221                                 $debut = $conv[2];
    222                                 $fin = $conv[3];
    223                                
     239                                $debut = "rgba(".$conv[2].")";
     240                                $fin = "rgba(".$conv[3].")";
     241
    224242                                $debut_ie = css_imbriques_couleurs_ie($debut);
    225243                                $fin_ie = css_imbriques_couleurs_ie($fin);
    226244
    227                                 // $ret = "background: $debut;";
    228                                
     245
    229246                                if ($dir == "top") {
    230247                                        $ret = "background: -webkit-gradient(linear, left top, left bottom, from($debut), to($fin));";
     
    239256                                }
    240257                                else {
     258                               
     259                                        $ret = "background: -webkit-gradient(linear, left top, right top, from($debut), to($fin));";
     260                                        $ret .= "background-image: -webkit-linear-gradient(left, $debut, $fin);";
     261                                        $ret .= "background-image: -moz-linear-gradient(left, $debut, $fin);";
     262                                        $ret .= "background-image: -ms-linear-gradient(left, $debut, $fin);";
     263                                        $ret .= "background-image: -o-linear-gradient(left, $debut, $fin);";
     264                                        $ret .= "background-image: linear-gradient(left, $debut, $fin);";
     265                                        $ret .= "filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='$debut_ie', endColorstr='$fin_ie');";
     266                                        //$ret .= "-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='$debut_ie', endColorstr='$fin_ie')\";";
     267                                }
     268
     269                               
     270                        }
     271                        else if (preg_match("#\ ?(.*)\ ?\,\ ?(.*)\ ?\,\ ?(.*)\ ?#", $val, $conv)) {
     272                                $dir = strtolower($conv[1]);
     273                                $debut = $conv[2];
     274                                $fin = $conv[3];
     275                               
     276                                $debut_ie = css_imbriques_couleurs_ie($debut);
     277                                $fin_ie = css_imbriques_couleurs_ie($fin);
     278
     279                                // $ret = "background: $debut;";
     280                               
     281                                if ($dir == "top") {
     282                                        $ret = "background: -webkit-gradient(linear, left top, left bottom, from($debut), to($fin));";
     283                                        $ret .= "background-image: -webkit-linear-gradient(top, $debut, $fin);";
     284                                        $ret .= "background-image: -moz-linear-gradient(top, $debut, $fin);";
     285                                        $ret .= "background-image: -ms-linear-gradient(top, $debut, $fin);";
     286                                        $ret .= "background-image: -o-linear-gradient(top, $debut, $fin);";
     287                                        $ret .= "background-image: linear-gradient(top, $debut, $fin);";
     288                                        $ret .= "filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='$debut_ie', endColorstr='$fin_ie');";
     289                                        // La version IE8 n'a pas l'air necessaire
     290                                        //$ret .= "-ms-filter: \"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='$debut_ie', endColorstr='$fin_ie')\";";
     291                                }
     292                                else {
    241293                                        $ret = "background: -webkit-gradient(linear, left top, right top, from($debut), to($fin));";
    242294                                        $ret .= "background-image: -moz-linear-gradient(left, $debut, $fin);";
  • _plugins_/css_imbriques/paquet.xml

    r68481 r74647  
    22        prefix="css_imbriques"
    33        categorie="outil"
    4         version="3.2.0"
     4        version="3.3.0"
    55        documentation="http://www.paris-beyrouth.org/tutoriaux-spip/article/plugin-spip-pre-processeur-de-css"
    66        etat="stable"
  • _plugins_/css_imbriques/plugin.xml

    r68622 r74647  
    44        <slogan>Traiter des CSS imbriqu&#233;s</slogan>
    55        <auteur>ARNO*</auteur>
    6         <version>3.2.1</version>
     6        <version>3.3.0</version>
    77        <etat>stable</etat>
    88        <description>
Note: See TracChangeset for help on using the changeset viewer.