電子書籍の厳選無料作品が豊富!

スマホで、position: fixed が効きません。
スクロールすると、動いてしまいます。
.button {
width: 49px;
height: 49px;
position: fixed !important;
display: block;
background-repeat: no-repeat;
background-image: url('../img/menu_button_back.png');
background-position: center;
}
<span style="right: 0px; position:fixed; TOP: 80px;" class="button menu-button-right">
</span>

どうしたらいいでしょうか?

A 回答 (1件)

background-positionには、fixedなんてないので、


 
background-attachmentプロパティ
background-attachiment:scroll | fixed | local
なので、
background-attachiment:fixed;

簡略化プロパティbackgroundだと
<bg-layer> = <bg-image> || <position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>

<final-bg-layer> = <bg-image> || <position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box> || <'background-color'>
なので、
background:url() top left yellow fixed;
とかは可能。

それ以前に
HTMLに.button 、すなわち、<div class="button">なんてないでしょう。(^^)

HTMLには、プレゼンテーションに関わるものは書いたらダメです。
構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )はHTML4.01の勧告以前から16年以上いわれ続けたこと。

例) 多分ナビゲーションリストだと思うので・・
<header><!-- この文書のヘッダ -->
・・・
 <nav>
  <ol>
   <li><a href=""></a></li>
とマークアップしておいてから
header nav ol li{
list-style-type:none;
margin:0;padding:0;
width: 49px;
height: 49px;
position: fixed;
top:10px;left:10px;
background: url('../img/menu_button_back.png') center fixed;
}
とかにする。
 後で、あるいはパソコン用、印刷用にボタンにしないデザインにできる。

ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
 はHTML4.01ですが、ソースを見てごらんなさい。プレゼンテーションにかかわることはなにもない。だから[表示]→[スタイル]で様々にデザインできるし、印刷用はデザインを変えられる。
 そもそもメンテナンスがとても楽。
    • good
    • 0
この回答へのお礼

ORUKA1951様
なるほど、勉強不足でした。 詳しくありがとうございます。
やってみます。

お礼日時:2016/05/29 20:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!