SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
文字とアイコンが
なぜずれるのか?
よくある文字+アイコン
• 画像(<img>)とリンク(<a>)

<a href=“#”><img src=“./images/icon.gif”>文字</a>
• インプット(<input>)とラベル(<label>)

<label><input type=“radio”>文字</label>

<input type=“radio” id=“link”><label for=“link”>文字</label>
• 背景画像(<li>のbackground等)

<li class=“icon”>文字</li>

.icon {

background-image:url(“./images/icon.png”) no-repeat right bottom;

}
原因
そろえないからです!
よくある「あれ、 わない」
• 「marginで調整しようとしたんだけど

効かない」
• 「vertical-align:middleにしたんだけど

真ん中に来ない」
まずは…
block lebel要素とinline要素の違いを

正しく理解しましょう
block lebel 要素
h1 h6,p,div,dl,ol,ul,pre,table…
• ブロック。前後に改行が入る。
• 高さ、幅の指定が可能
• margin / padding
inline要素
• 文章の一部。前後に改行が入らない。
a,span,img,input,label,select,sup,li…
inline要素
• 文章の一部。前後に改行が入らない。
1. 文章の一部 = 行
a,span,img,input,label,select,sup,li…
inline要素
• 文章の一部。前後に改行が入らない。
1. 文章の一部 = 行
2. 行間に影響を受ける。
a,span,img,input,label,select,sup,li…
inline要素
• 文章の一部。前後に改行が入らない。
1. 文章の一部 = 行
2. 行間に影響を受ける。
3. それ自体は高さを持たない(中身に依存)
a,span,img,input,label,select,sup,li…
inline要素
• 文章の一部。前後に改行が入らない。
1. 文章の一部 = 行
2. 行間に影響を受ける。
3. それ自体は高さを持たない(中身に依存)
4. 上下のmarginは効かない(img等の例外はあります)
a,span,img,input,label,select,sup,li…
「margin効かない」
inline要素はmarginでは調整できない
(上下は。)
たぶんこうすればOK
inline要素の場合、
• vertical-align:middle,top,bottomで調整する
• 画像に余白を付けて調整
• 行間を調整する
• CSSで、block lebel要素に変えてしまう

影響範囲をよく確認
margin 効かない=inlineだから
vertical-alignが効かない
vertical-align
block lebel要素には効きません。

divやh1∼6、pタグには効かない
仕様です
たぶんこうすればOK-2
• marginで調整する
• display:table-cell、inline等、有効なdisplay要
素に変える
• 当然、影響範囲をよく考えましょう

WEBアプリケーションの中で

きちんと統一することが重要
ここからが問題
• vertical-align:middle

middleは何に対してのmiddle ?
タイポグラフィの基本
textの各エレメントについて
ここで
The quick brown fox
jumps over 

the lazy dog
base line
The quick brown fox
jumps over 

the lazy dog
base line
descender line
mean line
ascender line
capsline
小文字の「x」の高さ = 1ex
大文字の「M」の高さ = 1em
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
同じフォントサイズでも、フォントによってサイズが違う
同じフォントでも、文字によってサイズが違う
html/cssの「vertical-aling:middle」 は
x-heightの中央
The quick brown fox
jumps over 

the lazy dog
The quick brown fox
jumps over 

the lazy dog
フォントサイズはascender lineとdescender lineの間
日本語も欧文も
ベースラインで う
日本語の場合、仮想ボディという箱が基準
どちらも100pxの高さ
画像、日本語、英語が混在する場合は?
画像の場合
デフォルトではbase lineで う
画像の中央が、(欧文のx-heightの)

middleになる
画像の中央線
って見えるように

画像とCSSを

設計する必要がある
つまり
じゃあどうする?
• 背景画像にして、background-positionで

調整するのが楽かも。
• dispay:inline-tableまたは、displayにしてfloatさ
せ、marginを指定する手もありますが使いドコロ
をよく選んで、考えましょう。
• 調整が大変なので、アイコンサイズは

絶対に統一(パターン化)しておきましょう。
まとめ
プログラムは思った通りには

動かない。書いた通りに動く。
CSSも同じです。

設計をきちんと/オブジェクト化/DRY…etc

プログラムを書くつもりでCSSも。
参考

MDN/CSS

https://developer.mozilla.org/ja/docs/Web/CSS

Más contenido relacionado

La actualidad más candente

DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
20221116_テスト自動化プラットフォーム mabl はいいぞ!
20221116_テスト自動化プラットフォーム mabl はいいぞ!20221116_テスト自動化プラットフォーム mabl はいいぞ!
20221116_テスト自動化プラットフォーム mabl はいいぞ!Shohei Oda
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介Amazon Web Services Japan
 
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話Recruit Lifestyle Co., Ltd.
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗Ko Ko
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018Shingo Fukuyama
 
大規模システムリプレイスへの道
大規模システムリプレイスへの道大規模システムリプレイスへの道
大規模システムリプレイスへの道Recruit Lifestyle Co., Ltd.
 
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint Sites
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint SitesSensitivity labels for Teams, Microsoft 365 Groups & SharePoint Sites
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint SitesDrew Madelung
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる増田 亨
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメEiji KOMINAMI
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL Co., Ltd.
 
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018cyberagent
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりShinichi Tomita
 
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...日本マイクロソフト株式会社
 
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外Takuya Sato
 

La actualidad más candente (20)

DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
20221116_テスト自動化プラットフォーム mabl はいいぞ!
20221116_テスト自動化プラットフォーム mabl はいいぞ!20221116_テスト自動化プラットフォーム mabl はいいぞ!
20221116_テスト自動化プラットフォーム mabl はいいぞ!
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
iot@Loft#14-LT4-AI /機械学習に活用できる AWSのエッジソリューションのご紹介
 
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話データ分析基盤運⽤チームの 運⽤業務を改善してみた話
データ分析基盤運⽤チームの 運⽤業務を改善してみた話
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018
 
大規模システムリプレイスへの道
大規模システムリプレイスへの道大規模システムリプレイスへの道
大規模システムリプレイスへの道
 
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint Sites
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint SitesSensitivity labels for Teams, Microsoft 365 Groups & SharePoint Sites
Sensitivity labels for Teams, Microsoft 365 Groups & SharePoint Sites
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメ
 
LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷LIFULL HOME'SでのSolrの構成と運用の変遷
LIFULL HOME'SでのSolrの構成と運用の変遷
 
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
 
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...
A16_VB でクラサバシステムの開発をしていた平凡なチームが、どのようにクラウドネイティブプロダクト開発にシフトしアジャイル開発を進めることができたのか...
 
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
 

Destacado

サンプルTodoから見るreact,flux,redux(古川)
サンプルTodoから見るreact,flux,redux(古川)サンプルTodoから見るreact,flux,redux(古川)
サンプルTodoから見るreact,flux,redux(古川)hisakatsu furukawa
 
SWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえるSWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえるShingo Yamazaki
 
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるCircle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるynakahira
 
静的解析、はじまったな
静的解析、はじまったな静的解析、はじまったな
静的解析、はじまったなAkira Kuratani
 
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Akira Kuratani
 
Badminton minggu aktiviti
Badminton minggu aktivitiBadminton minggu aktiviti
Badminton minggu aktivitiNur Fatehah
 
Sisältömarkkinointi on verkkokauppiaan salainen ase
Sisältömarkkinointi on verkkokauppiaan salainen aseSisältömarkkinointi on verkkokauppiaan salainen ase
Sisältömarkkinointi on verkkokauppiaan salainen aseKati Keronen
 
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...Medico Apps
 
วารสาร พ.ย. ธ.ค.59
วารสาร พ.ย. ธ.ค.59วารสาร พ.ย. ธ.ค.59
วารสาร พ.ย. ธ.ค.59Yui Yuyee
 
PwC 2016 Top Issues - The Aging Workforce
PwC 2016 Top Issues - The Aging WorkforcePwC 2016 Top Issues - The Aging Workforce
PwC 2016 Top Issues - The Aging WorkforceTodd DeStefano
 
Employee of the month
Employee of the monthEmployee of the month
Employee of the monthAdam Chard
 
Planificación de Educación física sexto bloque II
Planificación de  Educación física sexto bloque IIPlanificación de  Educación física sexto bloque II
Planificación de Educación física sexto bloque IIAlfredo Banda Jr.
 
Amr Training Certificates - 2002-2005-2010
Amr Training Certificates - 2002-2005-2010Amr Training Certificates - 2002-2005-2010
Amr Training Certificates - 2002-2005-2010Amr Sakran
 
Leticia alonso inmaculada concepcion
Leticia alonso inmaculada concepcionLeticia alonso inmaculada concepcion
Leticia alonso inmaculada concepcionABNCFIE VALLADOLID
 

Destacado (20)

Cartilla Moral- PDF Alfonso Reyes
Cartilla Moral- PDF Alfonso ReyesCartilla Moral- PDF Alfonso Reyes
Cartilla Moral- PDF Alfonso Reyes
 
サンプルTodoから見るreact,flux,redux(古川)
サンプルTodoから見るreact,flux,redux(古川)サンプルTodoから見るreact,flux,redux(古川)
サンプルTodoから見るreact,flux,redux(古川)
 
SWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえるSWTT2016 ミニハックをふりかえる
SWTT2016 ミニハックをふりかえる
 
Circle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみるCircle ciで結果をslackに通知してみる
Circle ciで結果をslackに通知してみる
 
静的解析、はじまったな
静的解析、はじまったな静的解析、はじまったな
静的解析、はじまったな
 
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
 
Wordpress 2
Wordpress 2Wordpress 2
Wordpress 2
 
Badminton minggu aktiviti
Badminton minggu aktivitiBadminton minggu aktiviti
Badminton minggu aktiviti
 
Sisältömarkkinointi on verkkokauppiaan salainen ase
Sisältömarkkinointi on verkkokauppiaan salainen aseSisältömarkkinointi on verkkokauppiaan salainen ase
Sisältömarkkinointi on verkkokauppiaan salainen ase
 
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...
Cardiac tamponade sample paper for neet pg, usmle, plab, fmge (mci screening ...
 
Live proud
Live proudLive proud
Live proud
 
Mapas mentales 3
Mapas mentales 3Mapas mentales 3
Mapas mentales 3
 
วารสาร พ.ย. ธ.ค.59
วารสาร พ.ย. ธ.ค.59วารสาร พ.ย. ธ.ค.59
วารสาร พ.ย. ธ.ค.59
 
Goal worksheet
Goal worksheetGoal worksheet
Goal worksheet
 
PwC 2016 Top Issues - The Aging Workforce
PwC 2016 Top Issues - The Aging WorkforcePwC 2016 Top Issues - The Aging Workforce
PwC 2016 Top Issues - The Aging Workforce
 
Employee of the month
Employee of the monthEmployee of the month
Employee of the month
 
Planificación de Educación física sexto bloque II
Planificación de  Educación física sexto bloque IIPlanificación de  Educación física sexto bloque II
Planificación de Educación física sexto bloque II
 
Amr Training Certificates - 2002-2005-2010
Amr Training Certificates - 2002-2005-2010Amr Training Certificates - 2002-2005-2010
Amr Training Certificates - 2002-2005-2010
 
Leticia alonso inmaculada concepcion
Leticia alonso inmaculada concepcionLeticia alonso inmaculada concepcion
Leticia alonso inmaculada concepcion
 
Revorg, New Delhi, Ladies Bags
Revorg, New Delhi, Ladies BagsRevorg, New Delhi, Ladies Bags
Revorg, New Delhi, Ladies Bags
 

アイコンがなぜずれるのか?