Changeset 42513 in spip-zone for _plugins_/css_imbriques


Ignore:
Timestamp:
Nov 26, 2010, 10:04:11 AM (9 years ago)
Author:
arno@…
Message:

Ajout de -spip-background-color

Location:
_plugins_/css_imbriques
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/css_imbriques/css_imbriques_fonctions.php

    r42247 r42513  
    5252}
    5353
     54function css_imbriques_conv_dec255 ($coul) {
     55        $coul = trim ($coul);
     56       
     57        if (preg_match(",(.*)\%$,", $coul, $pourcent)) {
     58                $coul = round($pourcent[1] * 255 / 100);
     59        }
     60        return $coul;
     61}
     62
    5463function css_imbriques_traiter_spip($regs) {
    5564        // -spip-box-sizing
    5665        // -spip-font-smoothing
    5766       
    58        
    5967        $style = $regs[1];
    6068        $val = trim($regs[2]);
    61        
    6269        switch($style) {
    6370                case "border-radius" :
     
    127134                        }
    128135                        break;
     136                case "background-color":
     137                        if (preg_match(",(rgba?)[\ \t]*\(([^\,]*)\,([^\,]*)\,([^\,]*)\,?([^\,]*)?\),", $val, $couls)) {
     138                                $rgba = trim($couls[1]);
     139                                $r = css_imbriques_conv_dec255($couls[2]);
     140                                $g = css_imbriques_conv_dec255($couls[3]);
     141                                $b = css_imbriques_conv_dec255($couls[4]);
     142                                $a = trim($couls[5]);
     143
     144                                $red = dechex($r);
     145                                $green = dechex($g);
     146                                $blue = dechex($b);
     147                                $alpha = dechex(round($a * 255));
     148                               
     149                                if (strlen($red) == 1) $red = "0".$red;
     150                                if (strlen($green) == 1) $green = "0".$green;
     151                                if (strlen($blue) == 1) $blue = "0".$blue;
     152                                if (strlen($alpha) == 1) $alpha = "0".$alpha;
     153
     154                                //$ret = "background-color: #$red$green$blue;";
     155                                if ($rgba == "rgba") {
     156                                        $ret .= "background-color: rgba($r,$g,$b,$a);";
     157                                        $ret .= "filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#$alpha$red$green$blue', endColorstr='#$alpha$red$green$blue');";
     158                                } else {
     159                                        $ret = "background-color: #$red$green$blue;";
     160                                }
     161                        }
     162                        break;
    129163                case "gradient":
    130164                        // -spip-gradient: top, #000000, #ffffff;
  • _plugins_/css_imbriques/plugin.xml

    r42247 r42513  
    22        <nom>CSS imbriqu&eacute;s</nom>
    33        <auteur>ARNO*</auteur>
    4         <version>1.3</version>
     4        <version>1.4</version>
    55        <etat>stable</etat>
    66        <description>Ce plugin permet de traiter des CSS imbriqu&eacute;s.</description>
Note: See TracChangeset for help on using the changeset viewer.