タグ

ブックマーク / terkel.jp (8)

  • 小数の桁数と丸め方を制御する Sass 関数

    Sass の数値で出力されるのは小数点以下 5 桁までで、6 桁めが四捨五入される (Sass 3.2 の デフォルト設定 の場合)。つまり、0.333333... は 0.33333 に、0.666666... は 0.66667 に丸められる。でもたとえば 16px/12px の結果として 1.33333 ではなく 1.34 がほしい、というような場面もある。数値を丸める関数として round()、ceil()、floor() が用意されてるけど、いずれも小数部分を丸めて整数を返すもので、任意の桁を操作するということはできない。というわけで、小数点以下の桁数と丸めを制御する round-decimal()、ceil-decimal()、floor-decimal() という関数を作ってみた。 // Round (四捨五入) @function round-decimal ($numbe

    小数の桁数と丸め方を制御する Sass 関数
  • @media と @extend

    Sass で @extend を CSS の @media と絡めて使おうとすると、組み合わせによってはエラーや警告が出てしまうので注意が必要。 %foo { color: red; } .bar { @media screen and (min-width: 768px) { @extend %foo; // ERROR! margin: auto; } } スクリーンの幅が 768px 以上のときは .bar に %foo を継承させる、という意図だけど、これは “Extend directives may only be used within rules.” というエラーが出て通らず、ファイルのコンパイルが丸ごと失敗してしまう。 %foo { color: red; } @media screen and (min-width: 768px) { .bar { @extend %f

    @media と @extend
  • 最近試している Sass の書き方

    最近、Sass 3.2 (プレリリース版) を使って新しい書き方を模索しているんですが、その方向性に自信が持てないので、ちょっとさらしてみて反応を見ようという試みです。 まず基的な方向として、以下のような考え方を参考にしています: なぜ @kotarok さんは mixin より extend を推すのか - mixi Engineers' Blog Sassの存在意義 - Weblog - hail2u.net Sassの存在意義への補足 - Weblog - hail2u.net マークアップに合わせてスタイルを書くのでもなく、スタイルに合わせてマークアップするのでもない、それぞれを適切に書いた上で結びつける、というようなことを僕なりにやろうとしています。スタイルの実装と、それらを利用するためのインターフェイスを分離する、みたいなイメージで、具体的には Placeholder (%)

    最近試している Sass の書き方
  • 画像置換のあれへの補足

    先月あたり、CSS による画像置換テクニックの話題がにわかに盛り上がりを見せていました。その経緯について まとりさんの記事 で紹介されていますが、僕からも簡単に補足してみます。 まず、よく知られた画像置換のテクニックとしていわゆるファーク式がありました: /* Phark method */ .ir { height: 100px; width: 400px; background: url(image.png) no-repeat 0 0; text-indent: -9999px; } このテクニックは長らく利用され続けてきましたが、その代替として、パフォーマンス面でより良いとされる Scott Kellum さんのテクニック (ケラム式) が Jeffrey Zeldman さんの記事 で紹介されました: /* Kellum method */ .ir { height: 100px

    画像置換のあれへの補足
    kageroh_
    kageroh_ 2012/04/22
  • for 属性に対する属性セレクタの IE7 での挙動

    IE7 には、label 要素の for 属性に対する CSS の属性セレクタが無効になるバグがあります。 label[for="foo"] { background-color: yellow; } この場合 for="foo" という属性を持つ label 要素の背景が黄色になるはずですが、IE7 では無視されてしまいます。これはどうやら for というキーワードが DOM の予約語であることに由来するバグのようです (参考: Attribute Selector (CSS selector) - SitePoint CSS Reference)。そのかわり、IE7 では htmlFor という属性名を利用すればスタイルが有効になります。 label[htmlFor="foo"] { background-color: yellow; } ただこれだと IE8 以降やほかのブラウザが解

    for 属性に対する属性セレクタの IE7 での挙動
  • Google Chrome Frame: サイト管理者向けガイド

    2013-06-30更新: 2013 年 6 月、Googe Chrome Frame の開発終了 が発表されたのを受け、新しい記事 を書きました。 IE で Google Chrome と同等のレンダリングを実現するプラグイン、Google Chrome Frame が 正式版になりました。ユーザはよりリッチで快適な Web 体験ができるし、サイト管理者としても事実上古い IE のシェアが減ることになって嬉しい、しかもインストールに管理者権限が不要という、ちょっといいプラグインなんですよね Chrome Frame。 とは言えユーザがインストールして使ってくれないことにははじまらないので、この Chrome Frame の利用を促進するためにサイト管理者にできることを紹介します。 ページを Chrome Frame でレンダリングさせる まず、すでに Chrome Frame がインスト

    Google Chrome Frame: サイト管理者向けガイド
  • Microdata + schema.org を実際に使ってみる

    schema.org は GoogleMicrosoft (Bing)、Yahoo! という Web 検索の大手 3 社が共同で取り組んでいる試みで、より構造化されたマークアップのための共有の語彙集 (vocabulary) を提供しようというものです。この schema.org の語彙を利用して、実際のマークアップに Microdata を追加する具体例をいくつか考えてみました。 schema.org の アイテム型 (item type) は 階層 (hierarchy) のかたちで定義されています。型ごとに独自の プロパティ が定義され、上位の型のプロパティは下位の型に引き継がれます。最上位は Thing という汎用の型で、name、url、image、description というもっとも基的なプロパティが定義されています。そしてその下に CreativeWork、Event、

    Microdata + schema.org を実際に使ってみる
  • HTML5 + WAI-ARIA: 入門篇

    このサイトを HTML5 でリニューアルした際に保留としたまますっかり忘れかけていましたが、ようやく WAI-ARIA を導入してみました。 WAI-ARIA は W3C の Web Accessibility Initiative (WAI) が公開している技術仕様で、Web コンテントや Web アプリケーションのアクセシビリティを強化することを目的としています。具体的には、Web ブラウザや支援技術 (AT) がコンテントのセマンティクスをより適切に認識できるよう、HTML ドキュメントに要素の「役割」や「状態」といった詳細な情報を付与するものです。名称に RIA とあるように、Ajax などによるリッチ・インターネット・アプリケーションをおもな対象とした仕様ですが、HTML5 によるシンプルな Web ページに取り入れることもできます。ここでは WAI-ARIA の HTML5 へ

    HTML5 + WAI-ARIA: 入門篇
  • 1