CSSのスキルをもう1レベル上げるための7つのポイント
CSSは現代のWebページ制作になくてはならないものです。
Web制作に関わる人であれば、誰でもそのスキルを磨いていきたいと思っているのではないでしょうか。
ただ、、JavaScriptなどのフレームワークに関しての情報はエンジニアの交流会などで頻繁にシェアされるものの、CSSについては新しい技術が出てこない限りやりとりされることは少ないのが現状です。
CSSは、主にWebの見た目に関わる技術なので、レベルを上げることはWebデザインの表現力にそのまま直結します。
今回は、CSSの技をもう1レベル上げるための7つのポイントをご紹介します。
1:一番シンプルなCSSリセット
marginやpaddingなど、ブラウザ間の表示誤差を修正する方法の一つに、CSSリセットと呼ばれる設定を行う方法があります。
通常、CSSリセットはnormalize.cssなど用意されているリセットライブラリを外部ファイルで読み込む必要がありますが、それを行わなくとも表現できる簡単な方法が存在します。
以下のコードでは、全ての要素のmarginとpaddingを削除して、ボックス高さや幅の算出方法を、ボーダー幅を含める形にしています。
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
(「*」は実際には半角です)
Webサイト表示の主な原因のひとつは、意図しない余白の発生やボーダー幅の算出方法の違いによるピクセル単位のレイアウトのズレです。
上記のようなたった数行のコードで、どのブラウザでもほぼ同じようにレイアウトを行うことが可能になります。
2:テーブル幅を均等分割
Webデザインを行ったことがある人なら誰しもうなずいてくれると思いますが、テーブルを挿入したときに、列のコンテンツ量によって幅が自動調整され、かえって見た目が残念になってしまうことがあります。
何列あったとしても、コンテンツ量に左右されずに、テーブル幅を均等にするためには、どうすればよいのでしょうか。
答えは、次のようなコードを1行挿入するだけです。
.price-table {
table-layout: fixed;
}
table-layoutプロパティに指定できる値は、「auto」か「fixed」のどちらかですが、初期値では「auto」に設定されています。
コンテンツ量によって幅が変わってしまうのは、このためです。
しかし、table-layoutに「fixed」を指定すると、必要に応じて各列の幅をしていしますが、幅が指定されていない列には残りの幅が均等に割り振られます。
3:フォントの大きさをレスポンシブ指定
最近では、国産・海外製問わずさまざまな大きさのデバイスが登場してきたので、デバイスごとに最適なフォントサイズの指定を行うのに一苦労している人もいるかもしれません。
ユーザーエージェントによるフォントサイズの切り替えは特に大変です。
しかし、ウィンドウの横幅によって自動的にフォントサイズが調整できれば、たった数行で最適なフォントサイズを算出することができます。
方法としては、:rootにcalc関数を使ってviewport上のサイズからルートのフォントサイズを指定しておき、各要素をremを使って相対的に決めていきます。
:root {
font-size: calc( 1vw + 1vh + .5vmin );
}
ルートが決まれば、各要素はremを使ってルートに対して相対的な文字の大きさを指定します。
body {
font: 1rem/1.4 sans-serif;
}
これだけで、デバイスの大きさを気にすることなく、バランスのよい方法で文字サイズを算出することができます。
4:ロボットふくろうセレクタを使いこなす
ロボットふくろうセレクタとは、ある最初の要素の隣接要素すべてにあるプルパティを設定することができるパワフルなセレクタの総称です。
ロボットふくろう(Lobotomized Owl)とは、ユニバーサルセレクタ「+」と兄弟セレクタ「*」を使って「*+*」というフクロウの顔のような形になることから、そう呼ばれているようです(実際は半角)。
a:ユニバーサルセレクタ1つの場合 b:ロボットふくろうセレクタの場合の処理 / 画像引用元:A List Apart
例えば、以下の例では、.wrap以下の要素の一番初め以外の要素に、margin-topを採用します。
* + *{
margin-top: 1.5em;
}
(「*」「+」は実際には半角です)
たった数行でmarginを取ることができるので、かなり重宝するのではないでしょうか。
5:スマートフォンでフォーム入力時の自動拡大を防ぐ
スマートフォンでは、viewportで拡大を許可していない場合に、ページの横幅がぴったりだったとしても、フォーム入力時にテキストエリアなどのインプット要素をタップすると意図しない拡大が発生してしまう場合があります。
しかし、Input要素などにfont-sizeを指定すれば、ブラウザが勝手に拡大表示されるのを防ぐことができます。
input, select, textarea {
font-size: 16px;
}
ここでは、selectタグのドロップダウンリストでも拡大されてしまう恐れがあるため、テキストエリア以外の要素も加えています。
6:2枚の写真を透過合成する
ブログ記事のアイキャッチ画像や、画像にコピーライト表示をしたいときなどに便利なのが、Photoshopなどを使わずにCSS側で2枚の画像を合成するテクニックです。
-webkit-cross-fadeプロパティを使っていることからもわかるように、Webkit系のブラウザで作動します。
.mask-synth {
background: -webkit-cross-fade( url(pict1.png) ,url(pict2.png) , 50% );
background-size: cover;
}
100%に近づくにつれて、1枚目の画像の透過率が高くなります。
7:HTMLの改行タグをCSSだけで消す
WordPressなどのCMSソフトウェアを使っていると、意図しないところでBRタグ(改行)が挟み込まれてしまうことがあります。
段落中に不用意に挿入されたBRタグを一発で消すには、以下のコードで解決します。
p br {
display: none;
}
言われてみれば簡単な方法かもしれませんが、「その手があったか!」と思いつくまでに時間がかかりますよね。
ぜひ便利なスニペットのストックに取り入れてみてください。
まとめ
たった数行のシンプルなコードばかりですが、知っておくと非常に便利なコード*をご紹介しました。
実際のところ、CSSの実務レベルをあと少しだけ上げたいと思った時に、役に立つのは数行のコードというのはよくあることです。
ぜひこれらのTipsを活用して効率よくコーディングを行いましょう。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- フレームワーク
- フレームワークとは、アプリケーションソフトを開発する際によく必要をされる汎用的な機能をまとめて提供し、アプリケーションの土台として機能するソフトウェアのことです。 元々は枠組み、下部構想、構造、組織という意味の英単語です。アプリケーションのひな形であり、これを開発に利用することで、大幅な効率の向上が見込めます。
- シェア
- シェアとは、インターネット上で自分が見つけて気に入ったホームページやブログ、あるいは、Facebookなど自分自身が会員登録しているSNSで自分以外の友達が投稿した写真、動画、リンクなどのコンテンツを自分の友達にも共有して広めたいという目的をもって、SNSで自分自身の投稿としてコンテンツを引用し、拡散していくことをいいます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- フォント
- フォントとは、同一の特徴を持った文字の形状を一揃いでデザインしたものです。
- フォント
- フォントとは、同一の特徴を持った文字の形状を一揃いでデザインしたものです。
- フォント
- フォントとは、同一の特徴を持った文字の形状を一揃いでデザインしたものです。
- フォント
- フォントとは、同一の特徴を持った文字の形状を一揃いでデザインしたものです。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- フォーム
- フォームとは、もともと「形」「書式」「伝票」などの意味を持つ英単語です。インターネットの分野では、パソコンの操作画面におけるユーザーからの入力を受け付ける部分を指します。企業のホームページでは、入力フォームが設置されていることが多いようです。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- テキスト
- テキストとは、純粋に文字のみで構成されるデータのことをいいます。 太字や斜線などの修飾情報や、埋め込まれた画像などの文字以外のデータが表現することはできませんが、テキストのみで構成されたテキストファイルであれば、どのような機種のコンピューターでも共通して利用することができます。
- ブログ
- ブログとは、ホームページの一種です。運営者はブログシステムに登録し、利用開始をすることで、ホームページ制作のプログラム技術を修得する必要なく、本文のみを投稿しつづければ、公開・表示はおろかページの整理や分類なども効率的に行えるシステムを言います。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- WordPress
- WordPressとは、CMS(コンテンツマネジメントシステム)の1種で、ホームページ管理システムのことです。ブログ感覚で記事の修正・追加が行えるうえ、通常のホームページ並みのデザインを作成することができます。
- CMS
- ホームページを作成するための様々な作業を、一元的に管理できるシステムのことをCMS(コンテンツ マネージメント システム)と言います。ホームページを作成するには文章や画像などのコンテンツの作成からHTML、CSSを使った構成・装飾の記述、リンクの設定などが必要ですが、CMSを使用すればこれらの作業を自動的に行なうことができます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- タグ
- タグとは、原義では「モノを分類するために付ける小さな札」のことです。英語の「tag」を意味するものであり、荷札、付箋といった意味を持っています。特にインターネットに関する用語としてのタグは、本文以外の情報を付与するときに用いられます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
おすすめ記事
関連ツール・サービス
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング