2012-02-24 6 views

答えて

3

このCSSクラスは、透明度なし1つのルールで収集したさまざまなWebブラウザ用です(既知のサポート:Firefoxの3.5+、クロム5+、サファリ5+、オペラ10.6以降、IE 9+):

.shadow { 
    -moz-box-shadow: 4px 4px 4px #000; 
    -webkit-box-shadow: 4px 4px 4px #000; 
    box-shadow: 4px 4px 4px #000; 
    /* For IE 8 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')"; 
    /* For IE 5.5 - 7 */ 
    filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000'); 
} 

...このCSSクラスは透明度をサポートしています:

.shadow { 
    -webkit-box-shadow:4px 4px 0px rgba(0, 0, 0, 0.25); 
    -moz-box-shadow:4px 4px 0px rgba(0, 0, 0, 0.25); 
    box-shadow:4px 4px 0px rgba(0, 0, 0, 0.25); 
    -webkit-transform:rotate(135deg); 
    -moz-transform:rotate(135deg); 
    -o-transform:rotate(135deg); 
    transform:rotate(135deg); 

} 
20

私はconversion of Photoshop Drop Shadow properties into a CSS3 box-shadowをカバーする記事を書いています。 Sass/Compassを使用している場合は、photoshop-drop-shadow compass pluginを使用できます。自分で数学をやりたいのであれば、それほど難しいことではありません。JavaScriptの簡単な例です。 2つのトリッキーな部分は、角度をXとYのオフセットに変換し、拡散率を拡散半径に変換しています。

// Assume we have the following values in Photoshop 
// Blend Mode: Normal (no other blend mode is supported in CSS) 
// Color: 0,0,0 
// Opacity: 25% 
// Angle: 135deg 
// Distance: 4px 
// Spread: 0% 
// Size: 4px 

// Here's some JavaScript that would do the math 
function photoshopDropShadow2CSSBoxShadow(color, opacity, angle, distance, spread, size) { 
    // convert the angle to radians 
    angle = (180 - angle) * Math.PI/180; 

    // the color is just an rgba() color with the opacity. 
    // for simplicity this function expects color to be an rgb string 
    // in CSS, opacity is a decimal between 0 and 1 instead of a percentage 
    color = "rgba(" + color + "," + opacity/100 + ")"; 

    // other calculations 
    var offsetX = Math.round(Math.cos(angle) * distance) + "px", 
     offsetY = Math.round(Math.sin(angle) * distance) + "px", 
     spreadRadius = (size * spread/100) + "px", 
     blurRadius = (size - parseInt(spreadRadius, 10)) + "px"; 
    return offsetX + " " + offsetY + " " + blurRadius + " " + spreadRadius + " " + color; 
} 

// let's try it 
// for simplicity drop all of the units 
photoshopDropShadow2CSSBoxShadow("0,0,0", 25, 135, 4, 0, 4); 
// -> 3px 3px 4px 0px rgba(0,0,0,0.25) 
+0

良いもの+1 – Ozzy

0

レイヤFXを標準的なコピーと一緒にCSSストリングとしてクリップボードにコピーするスクリプトを書きました。それは少し生のですが、それは動作します。 http://github.com/dfcreative/Photoshopr

0

私はCSS3にPSDと呼ばれるツールを使用しています、あなただけのフォトショップから値を追加する必要があり、使用を行っているここでは、このリンク http://melanieceraso.com/psd-to-css3/#sthash.T9hS7I1j.dpbs

.shadow { 
-moz-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.25); 
-webkit-box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.25); 
box-shadow: 3px 3px 4px 0 rgba(0, 0, 0, 0.25) 
} 
0

には、コーディングを必要としない便利なツールでありますPhotoshopのCSSボックスを作成します:http://www.layerstyles.org/

関連する問題