Skyward Design

Blog Webクリエイターの日々の覚え書き

ホーム > Blog > 検索結果

タグ「CSS」が付けられているもの

文字列を置換するカスタムSass関数を作ってみた

Posted by Hideki at 2012年1月25日 20:54

タグ:

昨日の「Ruby初心者だけどゼロパディングするカスタムSassファンクションを作ってみた」に引き続き、文字列を置換するカスタムSass関数(custom Sass functions)を作ってみました。以前ヨモツネット@yomotsuさんが「SVG GradientをSASS(LESS)で生成してCSS Gradientとして扱うmixin」の中で「SASSで文字列のreplaceができればいいのですが...。」と書かれていたので、需要があるかなと思った次第です。

  • "custom Sass functions"を昨日は「カスタムSassファンクション」と訳したのですが、今日からは「カスタムSass関数」と訳すことにします。「カスタムSass関数」の方が分かりやすく、しっくりくる気がするので...。

Ruby初心者だけどゼロパディングするカスタムSassファンクションを作ってみた

Posted by Hideki at 2012年1月24日 21:05

タグ:

Twitterで「Sassを書いている時にゼロパディング(ゼロ埋め)したいんだけど...」という趣旨のツイートを見て(頻繁にありそうな話ですね)、次のようなコードを書きました。

  • width: 2em;はアテです。
// SCSS
$tmp: "";
@for $i from 1 through 3 {
	@if $i < 10 {
		$tmp: "0#{$i}";
	} @else {
		$tmp: $i;
	}
	.item-#{$tmp} { width: 2em; }
}

// CSS
.item-01{ width:2em; }
.item-02{ width:2em; }
.item-03{ width:2em; }

ただ、これだと汎用性・再利用性が悪いので、カスタムSassファンクションを考えてみました。

SassとPhotoshopのスクリプトで、クロスブラウザなCSS3グラデーションを簡単に実現する

Posted by Hideki at 2012年1月21日 18:50

タグ:

CSSのみでグラデーションが生成できるlinear-gradient関数は便利ですが、実際に利用しようとすると以下のような課題が発生します。

  • ベンダープリフィックス(-moz--webkit-)を付けた記述をいくつか書かなければならない
  • ビジュアルデザイン上(PSD上)で設定されたグラデーション設定(カラー・位置)を、色の数だけコピ&ペーストしなければならない

これらの課題はグラデーションの数が増えれば増えるほど負担になってきます。そこで、SassとPhotoshopのスクリプトを利用して、クロスブラウザなCSS3グラデーションを簡単に実現する方法をご紹介します。

対応ブラウザ

  • Internet Explorer(6〜10)
  • Firefox
  • Safari
  • Google Chrome
  • Opera
  • IE8以下はCSS3 PIEでサポート。

CSSグラデーションの構文・解釈変更とブラウザの実装状況について

Posted by Hideki at 2012年1月20日 21:02

タグ:

[β版] Photoshopのグラデーションオーバーレイ設定を取得するスクリプト」を更新する際、CSSグラデーション(linear-gradient())の構文変更が最新のブラウザではどう扱われているのか気になり、実装状況の確認を行いました。

構文・解釈の変更内容

キーワードの構文変更

グラデーションの起点を示していたものが、2011年9月8日付の草案より"to bottom"のようにグラデーションの方向を示すようになりました("to"というワードと共に指定する)。つまり、上から下へのグラデーションは従来topと記述していましたが、to bottomと記述するようになりました。

// 2012年1月12日付最終草案に基づく記述方法
background-image: linear-gradient(to bottom, black, white);
角度表記の解釈の変更

水平右方向を0°とし反時計回りに回転するものとなっていたものが、2011年7月12日付の草案より方位角(0°は下から上で時計回りに回転)となりました。つまり、0degは左から右へのグラデーションを表していたものが、下から上へのグラデーションを表すものになっています。

CSSのフォントサイズ指定作業をSassで簡略化する

Posted by Hideki at 2012年1月 7日 13:13

タグ:

CSSでフォントサイズを相対値(em・rem・%)で指定する時に発生する計算は意外と手間なものですよね。私はEmChartを見て値を拾っていますが、細かいチャートから目的の値を探すのは若干大変です。

Sassで簡単にすることはできないかなと思っていたところ、Compassの拡張フレームワークである「Stitch - A CSS Pattern Framework for Compass」の中にrelative-size関数を見つけました。まさに思い通りの計算値+単位を出力してくれる関数です。

下記のように、relative-size(目的のサイズ,元のサイズ継承したサイズ)を指定すると

body {
  font-size: relative-size(12,16);
}

em値となって返ってきます。これは便利! ちなみに小数点以下は3桁まで出力されるようです。

body {
  font-size: 0.75em
}
  • 「元のサイズ」という表現がわかりにくいとのご指摘を頂きましたので、「継承したサイズ」修正させて頂きました。

著者紹介

独学でWeb制作を学んだ後、2007年より西新宿のWeb制作会社に勤務。2011年からは広島にUターンし、マイペースで働きつつWeb制作の勉強をしているフロントエンド・エンジニアです。

Feed

Copyright © 2011 Skyward Design All Rights Reserved.

Powered by Movable Type 5.12