現在、モバイル画面の下部にある粘着通知バーをコーディングしています。ユーザーがコード内で実際にバーが配置されているスクロール位置(ページのフッターの直前)に到達するまで、バーをユーザー画面の下部に固定しておく必要があります。私はこのページから「医者」の例をほとんどコピーしました: https://alligator.io/css/position-sticky/ 私の問題は:私のページで、バーを使用すると正常に機能します= Androidデバイス、またはデスクトップコンピュータのブラウザの幅を調整してモバイルデバイスをシミュレートする場合。ただし、iOSでは、バーは固定されていません。つまり、バーはその位置に固定されていません。到達するまで画面の下部に表示されます。これはSafariとGoogle Chromeの両方に適用されます。奇妙なことは、前述のalligator.ioページでは、iOSデバイスで正常に動作します。
これは、バーを取り巻くコードに関連するWebkitの問題の1つだと思いますが、それを特定することはできません。 alligator.ioの例にできるだけコードを調整してデバッグを試みましたが、機能しません。私はまた、親要素の任意のoverflow:autoを探してみました-成功しませんでした。私はこれを数時間修正しようとしており、問題にうんざりしており、別の目を使って見落としているものを見つけることができます。
<a href="#" class="jobAlertToggle">
<div id="jobalarm_mobile">
<i class="fa fa-bell"></i>
<span>Jobalarm aktivieren</span>
<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>
</div>
</a>
#jobalarm_mobile {
display: table;
font-size: 18px;
width: 100%;
height: 40px;
background: #ff8400;
color: white;
font-weight: 400;
text-align: center;
position: -webkit-sticky;
position: sticky;
bottom: -50px;
align-self: flex-end;
}
私が取り組んでいるライブページにアクセスできます(お客様のリクエストにより非表示になっています。非公開でご連絡ください)。任意の(推奨)検索を開始すると、バーがポップアップします(iOSを使用している場合はそうではありません...)よろしくお願いします。
私の答えはここ のヒントのいくつか、特にdisplay: block
をコンテナに追加すると、うまくいく場合があります。
IOSで使用position: -webkit-sticky
およびその他の場合position: sticky
私にとっては、jQuery/javascript以外はこのように機能しませんでした:固定位置にする必要のある要素を指定します:絶対および左:0、次にjavascriptを使用してウィンドウの左へのオフセットを計算し、そのオフセットを左のプロパティに追加しますあなたの要素:
#stickyElement {
position: absolute;
left: 0;
}
function scrolling(){
$('.someElementScrollingLeft').on('scroll', function() {
let offset = $(this).scrollLeft();
/* For me it only didn't work on phones, so checking screen size */
if($( window ).width() <= 768)
{
let stickyElement = $('#stickyElement');
stickyElement.css("left", offset);
}
});
}
i visit the website may be i found solution for you
try this its may can help you:
//firstly remove
//you repeat that in your code
#jobalarm_mobile {
display: none !important;
}
通知の最後に<a>
タグを配置します(<footer>
タグの後に)
//write this css
.jobAlertToggle{
display: none;
}
@media (max-width: 767px)
.jobAlertToggle{
display: block;
width: 100%;
position:sticky;
position:-webkit-sticky;
bottom:-50px;
}
#jobalarm_mobile {
display: table;
font-size: 18px;
width: 100%;
height: 40px;
background: #ff8400;
color: white;
font-weight: 400;
text-align: center;
-webkit-align-self: flex-end;
align-self: flex-end;
}