最近のWebサイトやスマホアプリで見かけるテクニックをはじめ、Web制作者としてよい刺激になるスタイルシートを巧みに使ったさまざまなアイデアを紹介します。 イラスト: Girls Design Materials CSSのみで実装されているのものもたくさんありますが、JavaScriptやSVGなどを必要に応じて使用されているものもあります。
最近のWebサイトやスマホアプリで見かけるテクニックをはじめ、Web制作者としてよい刺激になるスタイルシートを巧みに使ったさまざまなアイデアを紹介します。 イラスト: Girls Design Materials CSSのみで実装されているのものもたくさんありますが、JavaScriptやSVGなどを必要に応じて使用されているものもあります。
仕事で案件に関わっていると、特段必要がないにも関わらずSass機能を使っているファイルを見かけることがある。 例えば、 $font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", "Osaka", sans-serif; $font-size: 87.5%; body { font-family: $font-family; font-size: $font-size; }一体何の意味が? 変数を使う必要がない。 実務におけるSassの使い方を見直す。 設定しているミックスインフォントサイズpx or rem の場合は2行目と3行目を使用% の場合は4行目のみを使用16 はブラウザデフォルトのフォントサイズbody でフォントサイズを指定する場合
HTMLの各要素のブラウザごとに異なる差異をなくすために、ブラウザのスタイルを初期化するリセットCSS、初期化ではなくノーマライズ(正常化)するノーマライズCSS。 定番のスタイルシートから、最近リリースされたものまで、リセットCSSとノーマライズCSSを紹介します。 イラスト: Girls Design Materials 定番も最近のWeb制作にあうようバージョンアップされており、Web制作者は要チェックです! 下2つは通常のリセットとは異なるアプローチのスタイルシートです。 ress Normalize.css sanitize.css Marx Reset CSS minireset.css css-wipe Cleanslate Unreset CSS ress -GitHub normalize.cssを最近のWeb制作にあうようカスタマイズされたもので、ブラウザごとに異なるH
最近新しく追加された position の新しい値 sticky が場合によってはすごく便利なので記事を書いてみます。 対応ブラウザがまだあまり多くないので実用性は乏しいかもしれませんが、今まで JavaScript の力を借りなきゃ出来なかったことがたったの2行の CSS で出来てしまう魔法みたいな position の値です。 position: stickyMDN が説明が詳しいので貼っておきます。 参考:position - CSS|MDN 簡単に言うと「スクロールでその位置まで来たらそれ以降は fixed する」みたいな感じです。 サンプルこの記事内で「position: sticky」や「サンプル」など h2 要素に position: sticky をかけています。対応ブラウザであれば h2 要素が fixed しているはずです。 HTML<h2 class="h2-stic
pxでも、%, em, rem, vw, vhなどの相対単位でも、異なる単位の計算式で値を指定できる「calc()」がどのように機能し、どのように使うのか、「calc()」を使うと便利になる要素のセンタリング、フォントサイズ、グリッドの作成などの実装例を紹介します。 Opera Miniを除くすべてのメジャーブラウザに「calc()」はサポートされており、レスポンシブとも非常に相性のよいCSSの関数です。 How calc() Works 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 「calc()」とは値を計算式で指定できる 「calc()」を使う理由 「calc()」の使い方 「calc()」を使うと便利になる実装テクニック 「calc()」とは値を計算式で指定できる CSS3の「calc()」は、プロパティの値を計算式で
www.cocococococococococococo.com 前の記事で「JSでトップページを開いたら記事一覧ページへ転送する方法」を書いたので、今回はCSSだけでトップページをカスタマイズした方法をご紹介! 私のブログのテーマは「Innocent」を使用させてもらっているので、他のテーマでそのままで出来るかちょっと自信ないです。動作確認はMacのChrome、Safari、Firefoxのみ(IEとか知らないです 笑) Innocent - テーマ ストア CSSでトップページをカスタマイズした手順(ざっくり) ざっくり手順を並べるとおおきく5工程ぐらいの手順で出来ました。 GitHub PagesでCSSを公開できる環境をつくる GulpでSass(Scss)をコンパイルできる環境をつくる Sass(Scss)でデザインをカスタマイズしていく コンパイルしたCSSをGitHubにP
CSSで子要素の縦位置をセンタリングしてみます。 その1 position:absolute をつかう。 己を position: absolute に、親要素を position: relative (もしくは absolute、fixed)にして、自らのtopを50%、margin-topを己の高さの半分に設定すれば、なんということでしょう。縦位置のセンタリングのできあがりです。 必要な情報としては、己の高さのみなので非常にお手軽です。 その2 display:table-cell と vertical-align:middle をつかう。 親要素を display: table-cell、 vertical-align:middle に、さらにその親要素を display: table にすることによって、縦位置のセンタリングのできあがりです。 要素がひとつ増えてしまいますが、誰もな
CSS命名規則とは CSS命名規則とは、CSSでクラス名や、id名をつけるときの規則のことです。この規則を設けることには以下のメリットがあると思われます。 予期せぬ、クラス名のバッティングを防ぐ 複数人で開発をする際にそのクラスが果たす役割を理解させやすい 世の中には有名なCSSの命名規則がいくつかあります。今回はその中でも、BEMとOOCSSに注目しました。 BEMとは、Block Element Modifierの略です。 それぞれ以下の意味を持っています。 Block 要素を構成するもととなる要素 Element ブロックの中の要素 Modifier BlockやElementの基本状態から変化した状態 そして、BEM記法では、以下のようにCSSのクラスを命名します。 Block__Element--Modifier 例えば、Boxという要素の中のItemという要素で状態が、dang
HTMLコード <ul class="float"> <li>1</li> <li>2</li> <li>3</li> </ul> <ul class="inline"> <li>1</li> <li>2</li> <li>3</li> </ul> <ul class="inline-block"> <li>1</li> <li>2</li> <li>3</li> </ul> <ul class="table-cell"> <li>1</li> <li>2</li> <li>3</li> </ul> <ul class="flex"> <li>1</li> <li>2</li> <li>3</li> </ul> CSSコード ul { list-style-type: none; padding-left: 0; } li { background: #CCC; width: 50px;
現在、CSSを使って、丸い要素を用意しその中に正方形の画像を配置し、その画像をhoverで拡大させるというWEBデザインを実装しようとしています。 CSSのみで実装できる、画像と相性が良さそうなホバーエフェクト 上記のサイトの1つ目のZoom-Inを使って実装しようとしたのですが、 FireFoxとInternetExplorerで表示した場合 うまくズームできています。 Chromeで表示した場合 hoverの動作中にimgの画像が前面に出てきてしまっています。一時的にoverflowを無視するような形になっているのでしょうか。 z-indexを指定するなどしてみたのですが、うまくいきませんでした。 どのようにすれば、chromeでも正常に動くのでしょうか? アドバイスなど頂けると嬉しいです。 よろしくお願いします。 以下、コードです。 html
2016.03.28 いつか使うかも?cssのfont-sizeをビューポート-パーセンテージで指定する 二俣です。ちょっとニッチな内容かもしれないですが、備忘録を兼ねて。 よくあるfont-sizeの指定方法 よく見かけたり、使ったりしているfont-sizeの単位は、だいたい下記のような感じかと思います。 px絶対指定。pxで指定する。 em相対指定。親要素のフォントサイズの何倍か。 %相対指定。親要素のフォントサイズの何パーセントか。 rem相対指定。html要素のフォントサイズの何倍か。 .txt1{ font-size: 10px; } .txt2{ font-size: 1.6em; } .txt3{ font-size: 160%; } .txt4{ font-size: 1.6rem; } サンプルページ 念願の、ie8のサポートが終了したこともあり(参考:https://
今、自分がどうやってCSSを書いているのかについてまとめる。 CSSを書く前にすること 持論だが、「デザインの意図を正確に理解した上で書かれたCSSは破綻しない」と思っている。 しかし、自分ひとりでサービスを作るときような、デザインの決定権を持つ人とUI実装者が同じである場合を除いて、デザインの意図を正確に伝え、理解することは難しい。 僕が1番時間を使うのがこの工程だ。 今の仕事ではデザイナーがSketchファイルを作成し、エンジニアがそれを元に実装する。 Sketchファイルを開き、アートボードをひたすら眺めデザインの矛盾がないかを確認し、「なぜこのようなデザインなのか」を質問しまくる。 ここで良い質問と提案をするためにも、エンジニア側に最低限のデザインに対する知識が必要だと思う。 最近読んだ本だと、「みんなではじめるデザイン批評―目的達成のためのコラボレーション&コミュニケーション改善
今回の記事はテーブルの枠線を細くするときの話です。 簡単なことなので分かっている方は十分わかっているかとおもいますが、 もしかしたら CSS 登場以前の古い頃から HTML を書いている方は、こんな風に書いていませんか? <table cellspacing='0' border='1'> ... こうすると、HTML5 のバリデータ付きのエディターなどでは次のように怒られたりします。 このスクリーンショットはマイクロソフトの Visual Studio Express 2012 for Web (英語版) のものですが、 table 要素には cellspacing という属性は妥当ではありません。というメッセージが表示されています。 確かに W3C の HTML5 のシンタックスページを見ると、こんな風に "代わりに CSS を使ってください" と書いてあります。 この記事は、それなら
ブラウザごとに異なるHTMLの各要素のスタイルの相違を吸収し、各要素のデフォルトのスタイルが定義されたCSSリセット用のスタイルシートを紹介します。 normalize.cssを最近のWeb制作にあうようカスタマイズされたもので、対応ブラウザはすべてのモダンブラウザ、IEは8+対応です。 ress -GitHub 参考: normalize.cssの特徴とコード 2015年、Web制作者が押さえておきたいCSSの各種リセット ressの特徴 ress: html, グローバルセレクタの定義 ress: 一般的な要素の定義 ress: フォーム要素の定義 ress: メディア要素の定義 ress: アクセシビリティ用の定義 ress: ::selectionの定義 ressの特徴 ressは「normalize.css」をカスタマイズしたもので、スタイルシートを始める時のしっかりしたベースな
HTML をゼロからプログラミングしていくのが手間に感じていないでしょうか。 そんなときは、HTML5 のページを一瞬で生成できるジェネレーターを使うと便利です。ジェネレーターで生成したあと、自分でよく使うスニペットとして保存しておけば時間を短縮できますね。 HTML5 テンプレートジェネレーターを 3 つご紹介します。 HTML Code Generator|Quackit 「HTML Code Generator」は、title や meta description をあらかじめ入力して HTML5 テンプレートを生成できます。 CSS がインラインで吐き出されるので、ファーストビューの表示を高速化したい場合はよいかもしれません。必要に応じて外部ファイルに変更しましょう。 実際にこのようなコードが生成されます。 <!DOCTYPE html> <html> <head> <!-- HT
WEBでレスポンシブ対応するときに結構大変なのが画像の扱い。iPhone等の高解像度デバイス(Retinaディスプレイ等)には2倍の画像を用意する必要があるし、最近は画面のサイズに会わせて画像を切り替えたい場合も多い。そんな時にHTML5のsrcsetがすこぶる便利だったのでご紹介します。 srcsetでできること 次のようなことが可能になります。 Retinaディスプレイ用に画像を切り替える ウィンドウサイズに合わせて画像を切り替える ウィンドウサイズに合わせて動的に画像を切り替える Retinaディスプレイ用に画像を切り替える 基本的な使い方は下記のような感じでimgタグに使用します。シンプルですね。 <img src="img/example-img.jpg" srcset="img/example-img.jpg 1x, img/example-img@2x.jpg 2x" alt
追記 最新の感想も合わせてご覧ください。 jinjor-labo.hatenablog.com React界隈では結構前から「CSS in JS」と言って、雑に言うと「CSSはイケてないからJSでインラインスタイルを書いてしまえ」という話がある。(ちゃんと知りたい人はこちら) 自分も前々からCSSは変数が使えないとか名前が被るとか諸々イケてないのは同意してたんだけど、じゃあJSで書くのが良いかと言われたら「いや流石にロジック汚れるんじゃね?」とか「CSSの便利機能を捨てて平気なの?」とか色々と懐疑的だったんだけど、1~2か月書いてみたら想像以上に良かったので感想を書くことにした。 まず一番に主張したい部分を先に言うと、こう。 (誤解)JSのコードがスタイル記述で汚れる (正解)JSのコードがスタイル記述から解放される 前提 実際に書いたのはJavaScriptではなくElmなので以下は全て
概念を知って満足しちゃうのはやめようと思ったWebディレクターのふもぱん先生(他称)です。 昨年2015年12月26日(土)、CSS Nite「 Shift9:Webデザイン行く年来る年(CSS Nite LP43)」に参加してきました。「マークアップ」のセッション(「2015年のマークアップの話題を総まとめ」小山田晃浩さん / 益子貴寛さん / 久保知己さん)で取り上げられていたのがタスクランナーの「 Gulp 」。細かい定義はお調べいただくとして、要は「自動化ツール」のこと…というと乱暴でしょうか。 私もディレクターのはしくれですので、その存在やメリット、デメリットは概念的に知っていました。ただ、普段はディレクション中心のため、あまり切実に必要なものではありませんでした。「インストールなどの環境づくりが面倒」という風評もよく目にしていましたので、なかなか実践しようとは思わなかったのです
$baseColor: #AD253A; 変数を代入 body{ background-color: $baseColor; 変数を出力 } #globalHeader { #gNav { color: $baseColor; 変数を出力 } } #main #featureList { a { h3 { color: $baseColor; 変数を出力 } } }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く