SlideShare a Scribd company logo
1 of 23
Download to read offline
position: fixed;を上手に飼う方法
2015.02.21 Frontrend Conference
DMM.com Labo 石橋啓太
DMM.com Labo デザイナー
!
昔はバナーとか作ってたけど、
フロントエンド技術に興味がでてきた人。
!
コーダーだったり、UI考えたり、アプリ作ったり。
!
最近AngularJSいじくってます。
石橋 啓太 ishibashi keita
固定表示の実装でハマったこと
ありますか?
固定表示の実装でハマったこと
ありますか?
あるある
かわいいアイツ
fixed
fixed
自由自在に扱えるように
fixedについてもっと知ろう!
!
position: fixed;の中身
position: fixed;の中身
absoluteと同じ絶対配置
基準にするのはviewport
.red {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
}
position: fixed;の中身
fixed
基準値:viewport
body
div
position: fixed;の中身
やってること 大体おなじ
なーんだ。
viewportってなんだっけ
あー、知ってる知ってる。
アレでしょ?アレ。
PC
ウィンドウエリア=viewport
viewportってなんだっけ
スマホ
ウィンドウ……?
viewportってなんだっけ
visual viewport
layout viewport
実際の表示領域(ズーム時含む)
metaタグによって設定される
ズームした時の挙動について
デバイス・OS毎に大きく異なるので
ピンチイン許可する場合は要注意!
!
スマホ
viewportってなんだっけ
上手に飼うにはどうすれば?
上手に飼うにはどうすれば?
以下の要素は要注意!
<textarea>
<input>
<button>
<select>
position(入れ子)
transform
(ハードウェアアクセラレータ)
z-index
<input type=“text”>
<textarea>
<button>
fixed
中身もりもりの固定要素を丸ごと動かす!
これをtransformで動かしたい!例:
fixed
positionプロパティが入れ子状態で乱立!
例:
absolute
relative absolute
fixed
適当なz-index値の設定でおかしくなる
例:
<div>
上手に飼うにはどうすれば?
formへのフォーカス
formからformへの移動
スクロール
ズーム
Javascript
上手に飼うにはどうすれば?
固定する要素はシンプルに
デバイス独自の挙動を考慮する
他の要素の影響を受けやすい!
大規模開発の際は慎重に実装しましょう!
THANK YOU !
ありがとうございました。

More Related Content

Similar to position: fixed;を上手に飼う方法

【DevLOVE甲子園2014】デザイナーも、 アジャイル開発に 挑みたい!(希望)
【DevLOVE甲子園2014】デザイナーも、  アジャイル開発に  挑みたい!(希望)【DevLOVE甲子園2014】デザイナーも、  アジャイル開発に  挑みたい!(希望)
【DevLOVE甲子園2014】デザイナーも、 アジャイル開発に 挑みたい!(希望)Chihiro Tomita
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏Yusuke Hirao
 
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたYuji Nojima
 
ObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングSyo Ikeda
 
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)セカイラボ(Sekai Lab Pte. Ltd.)
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!Yu Tanaka
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場Shota Suzuki
 
バレンタイン直前開催Web勉強会
バレンタイン直前開催Web勉強会バレンタイン直前開催Web勉強会
バレンタイン直前開催Web勉強会Takahide Hosokawa
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutasakahara
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?Fumio SAGAWA
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するHajime Ogushi
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Atsushi Harada
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話Kentaro Matsumae
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう Hideki Akiba
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御Muyuu Fujita
 

Similar to position: fixed;を上手に飼う方法 (18)

【DevLOVE甲子園2014】デザイナーも、 アジャイル開発に 挑みたい!(希望)
【DevLOVE甲子園2014】デザイナーも、  アジャイル開発に  挑みたい!(希望)【DevLOVE甲子園2014】デザイナーも、  アジャイル開発に  挑みたい!(希望)
【DevLOVE甲子園2014】デザイナーも、 アジャイル開発に 挑みたい!(希望)
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
Swift Study Vol.4
Swift Study Vol.4Swift Study Vol.4
Swift Study Vol.4
 
WordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみたWordPress プラグイン Infinite Scroll を試してみた
WordPress プラグイン Infinite Scroll を試してみた
 
ObjectMapperでJSONマッピング
ObjectMapperでJSONマッピングObjectMapperでJSONマッピング
ObjectMapperでJSONマッピング
 
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)
ベトナム・ダナン オフショア開発記 by 中村健太(株式会社ビットエー/日本ディレクション協会)
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場ハイブリットソーシャルゲームの現場
ハイブリットソーシャルゲームの現場
 
バレンタイン直前開催Web勉強会
バレンタイン直前開催Web勉強会バレンタイン直前開催Web勉強会
バレンタイン直前開催Web勉強会
 
マルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layoutマルチデバイスに対応するためのAuto layout
マルチデバイスに対応するためのAuto layout
 
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
業務アプリケーションにおけるモダンWeb開発の現状ーHTML5開発って簡単なの?
 
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解するこれで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
これで大丈夫。Web制作で使うコマンドラインツールの名前と役割をざっくり理解する
 
OpenCV 3.0 on iOS
OpenCV 3.0 on iOSOpenCV 3.0 on iOS
OpenCV 3.0 on iOS
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう HTML5でできるカメラアプリを実際に体験しよう
HTML5でできるカメラアプリを実際に体験しよう
 
Cssアニメーションとその制御
Cssアニメーションとその制御Cssアニメーションとその制御
Cssアニメーションとその制御
 

position: fixed;を上手に飼う方法