fixed定位文本框引发的问题
<!-- 代码段1 -->
<body>
<!-- 可以滚动的区域 -->
<main id="J_box">
<!-- 内容在这里... -->
</main>
<!-- fixed定位的底部 -->
<footer id="J_footer">
<input type="text" placeholder="" id="J_f_input"/>
<button id="J_f_submit">提交</button>
</footer>
</body>
footer, main {
display: block;
}
footer {
position: fixed;
height: 1.5rem;
left: 0;
right: 0;
bottom: 0;
}
main {
margin-top: 1.8rem;
margin-bottom: 1.5rem;
height: 20rem;
}
<!-- 代码段2 -->
<body>
<!-- 可以滚动的区域 -->
<main>
<div class="content">
<!-- 内容在这里... -->
</div>
</main>
<!-- fixed定位的底部 -->
<footer id="J_footer">
<input type="text" placeholder="" id="J_f_input"/>
<button id="J_f_submit">提交</button>
</footer>
<body>
footer, main {
display: block;
}
footer {
position: fixed;
height: 1.5rem;
left: 0;
right: 0;
bottom: 0;
}
main {
margin-top: 1.8rem;
margin-bottom: 1.5rem;
height: 20rem;
}
main {
/* main绝对定位,进行内部滚动 */
position: absolute;
top: 1.8rem;
bottom: 1.5rem;
/* 使之可以滚动 */
overflow-y: scroll;
/* 增加该属性,可以增加弹性 */
-webkit-overflow-scrolling: touch;
}
main .content {
height: 20rem;
}
问题描述:在iPhone浏览器中,唤起input的键盘后,滑动页面时,fixed定位的J_footer元素跟随页面一起滑动了。另外,ios4下不支持position:fixed。
问题分析:唤起键盘后,fixed属性失效,当页面滑动超过一屏时,fixed的元素就会跟随页面一起滑动。android下fixed表现要比iPhone更好,一般不会出现fixed的元素游离。
解决方案:
一、动态修改position值
采用代码段1,input获得焦点时,设置position值为static,input失去焦点时,设置position值为fixed。
二、修改滚动区域的样式和布局
iPhone中用代码段2,因为android2.3+不支持overflow-scrolling,所以android2.3+用代码段1,android2.3-用isScroll.js。
三、统一都用isScroll.js(不建议)
1、采用代码段1,加上如下代码
<script src="iscroll.js"></script>
<script>
var myscroll;
function loaded(){
myscroll = new iScroll("J_box");
}
window.addEventListener("DOMContentLoaded",loaded,false);
</script>
2、连锁问题
光标会乱跑;头部不见了;偶尔不能显示获得焦点的input。
fixed定位文本框引发的问题的更多相关文章
- html css input定位 文本框阴影 灰色不可编辑
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [Selenium With C#基础教程] Lesson-05 文本框
作者:Surpassme 来源:http://www.jianshu.com/p/7dca7d0d1ea3 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. 文本框在Web页面中 ...
- 【Javascript】在文本框光标处插入文字并定位光标 (转)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- WPF 文本框设置了阴影效果后,因左右的transform变化引发的拉伸渲染问题
背景 最近遇到一个动画执行时,文本位置变化的问题.如下图: 如果你仔细看的话,当星星变小时,文本往下降了几个像素. 貌似有点莫名其妙,因为控件之间并不在同一个Panel布局控件中,不存在高度限制变化引 ...
- Selenium示例集锦--常见元素识别方法、下拉框、文本域及富文本框、鼠标操作、一组元素定位、弹窗、多窗口处理、JS、frame、文件上传和下载
元素定位及其他操作 0.常见的识别元素的方法是什么? driver.find_element_by_id() driver.find_element_by_name() driver.find_ele ...
- Java + selenium 元素定位(6)之iframe切换(即对富文本框的操作)
在元素定位中,对富文本框的元素定位是特别的,当我们使用普通的元素定位方法对富文本框进行操作时,我们会发现不管我们之前介绍的八种方法中的任何方法,我们都不能成功定位到富文本框,并对其进行操作.那是因为富 ...
- C#用户自定义控件(含源代码)-透明文本框
using System; using System.Collections; using System.ComponentModel; using System.Drawing; using Sys ...
- AlloyRenderingEngine文本框组件
写在前面 Github: https://github.com/AlloyTeam/AlloyGameEngine 在dom元素里,自带了input标签,设置其type为text,它就是一个文本框. ...
- [WPF]带下拉列表的文本框
控件我已经弄好了,代码比较多,所以没办法全面介绍. 一开始我是直接继承Selector类来实现,做是做出来了,不过发现性能不太好.于是,我就想着自己来实现.毕竟我是做给自己用的,也不考虑过多的东西,也 ...
随机推荐
- 1.1浅谈Spring(一个叫春的框架)
如今各种Spring框架甚嚣尘上,但是终归还是属于spring的东西.所以在这里,个人谈一谈对spring的认识,笔者觉得掌握spring原理以及spring所涉及到的设计模式对我们具有极大的帮助.我 ...
- CSS难点 为什么height设置100%会失效,分栏目等高布局(高度自适用布局)的实现方案
前言 相信在平时写CSS的时候大家都或多或少遇见过设置了height为百分比的时候发现不起作用.今天我们就来一探究竟 原因:父元素未设置具体高度,子元素设置height:100%是无效的. 现象以及方 ...
- [物理学与PDEs]第5章习题5 超弹性材料中客观性假设的贮能函数表达
设超弹性材料的贮能函数 $\hat W$ 满足 (4. 19) 式, 证明由它决定的 Cauchy 应力张量 ${\bf T}$ 满足各向同性假设 (4. 7) 式. 证明: 若贮能函数 $W$ 满足 ...
- String总结
- 《Java编程思想第四版》第 16 章 设计范式-提到观察者模式
在由Gamma,Helm 和 Johnson 编著的<Design Patterns>一书中被定义成一个“里程碑”.那本书列出了解决这个问题的 23 种不同的方法 16.1.2 范式分类 ...
- 网络学习day04_VLSM、子网划分
IP子网划分 首先,在进行子网划分的学习之前,我们先来回顾一下IP地址的相关知识,同时了解一下公有和私有IP地址: 在Internet上有千百万台主机,为了区分这些主机,人们给每台主机都分配了一个专门 ...
- 创建一个MongoDB数据库再到配置成Window服务再设置用户名密码
1.安装MongoDB数据在官网下载安装 然后在C盘找到C:\Program Files\MongoDB\Server\4.0\bin这个可执行目录 使用cmd进入到这: 2.在C盘根目录创建一个名为 ...
- POJ 2318 TOYS (叉积+二分)
题目: Description Calculate the number of toys that land in each bin of a partitioned toy box. Mom and ...
- tnsping 不通
好久没装oracle 了,竟然被一个简单问题一下子蒙住了,防火墙没关,或者说没有放开oracle端口,这都能忘,还是记录一下吧.
- vcenter新建虚拟机centos7作为虚拟机模板
网卡选项 适配器类型算则E1000 Remote console选项 电源选项 加密 打开电源,连接iso安装系统 按一下tab键,修改网卡为eth0 点击Tab,打开kernel启动选项后,增加ne ...