偶然看到网络上有人说safari不支持网页的tabIndex属性,可是这怎么可能呢?做了个测试还果真如此。...上caniuse查了一下:image.png原来是要打开MacOS设置里的一个Full Keyboard Access开关才支持。...在Big Sur的设置里面没找到叫做“全键盘访问”或者“全键盘控制”的开关,不过发现了这个:image.png进去后在快捷键设置里面找到:image.png钩上以后,tabIndex就正常起来了。...不知道苹果把这个选项默认去掉的考虑是什么?跟以前的邮箱一样因为outer-line不好看?这个“使用键盘导航在控制间移动焦点”也是个神一般的翻译。我们中文里面似乎没有“控制间”这样的说法啊?
来看看这么一种情况: 我们有一个垂直方向溢出滚动的容器,以及一个水平方向溢出滚动的容器: 如果使用的是非触控板(大部分用户没有触控板),而是使用鼠标来进行操作,会发现,这两个容器中,只有垂直方向溢出滚动的容器...,是可以响应鼠标滚轮的: 垂直方向溢出滚动的容器,正常响应鼠标滚轮,可滚动内容 水平方向溢出滚动的容器,不会响应鼠标滚轮,不可滚动内容 那么,这里可能就是一个用户痛点。...那是必须的,本文就将介绍一种可能可行的技巧,在特定场景下在水平方向溢出滚动的容器,依然可以用鼠标滚轮进行滚动。 旋转大法 是的,既然只有垂直方向的溢出,才能响应滚轮操作。那我们不妨从这个角度入手。...,就变成了水平的容器,图中鼠标没有在滚动条上容器的运动就是通过滚轮实现的。...完整的代码,你可以戳:CodePen Demo -- CSS-Only Horizontal Parallax Gallery 隐藏滚动条 当然,有个问题,这样滚动条就穿帮了。
今天做移动端页面遇到一个坑,我需要实现的效果是这样的 ? 由于选项的个数是不一定的,如果很少的话不会有横向滚动,是需要居中的 ?...自然而然的是这么写的 .father { display:flex; justify-content: center;...flex-direction: column; align-items: center; } } 结果会发现第一个元素是展示不全的,...如果把father里的justify-content: center;换成justify-content: space-between;或者justify-content: left; 是可以的,但是当只展示两三个选项时就会间距过大...而我们需要选项过少的时候是center效果,多了则显示全并能滚动。 想过对第一个选项的css单独处理,但是还要判断选项个数,其实和自己试出来的页面能展示多少个选项不滚动没区别。
本文,我们探讨 CSS 网格的弹性布局,它是如何帮助我们实现水平滚动的,同时处理它带来的缺陷。...但是,当采用水平滚动布局时,至少需要满足两点 UX 原则: 你的设计必须在视觉上提醒他人,这是一组可以水平滚动的内容。最好的方法,就是让可滚动的内容露出一部分。 用户知道什么时候滚到末尾,这很重要。...带 .full 类名的子元素,将会占据全部视窗的宽度且没有内边距。 滚动容器 我们使用六个卡片来创建水平滚动容器,一次显示两张。...还记得不,当水平滚动的时候,我们希望可滚动的内容是从屏幕的边缘滑出。 所以,我们在容器中添加 .full 类,并填补缺失的内边距。...grid-columns 布局,因为会自动添加到水平滚动容器的开头和结尾。
现在很多for Mobile的HTML5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼。...,会发现回弹效果以及滚动得很快: ?...如果把-webkit-overflow-scrolling那行注释掉,就会发现滚动得很慢。...实际上,Safari真的用了原生控件来实现,对于有-webkit-overflow-scrolling的网页,会创建一个UIScrollView,提供子layer给渲染模块使用。...从SVN log看,在WebKit 108400版本左右才支持,所以iOS Safari应该是需要5.0。Android只在4.0以上支持。
大家好,又见面了,我是你们的朋友全栈君。...需求:在以下的布局要求下,利用flex布局来实现,但需要在最外层给一个固定高度来控制页面高度及可滑动区域的可视高度 很自然的利用100vh来控制最外层的高度,但测试过程中,发现safari浏览器中,页面的高度出现了偏差...,比屏幕的高度还要高出一部分,出现了双层滚动条。...经研究,发现safari的100vh是包含地址栏和功能列的,而其它浏览器100vh才是用户浏览器真正的可见区域(见下图) 解决方案 通过innerHeight重新定义一个变量代替vh safariHacks...('.wrap').style.setProperty('--vh', windowsVH + 'px'); }); } 在mounted内调用该方法 height: 100vh; /*給 Safari
,在做的时候个人习惯使用chrome作为调试工具, 代码基本完成之后,一切正常; 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误”Invalid Date”。...想着估计是字符串格式的问题,改成’2016/11/11 11:11:11’再测试,结果正常,以为这样应该没问题了,再用手机浏览器继续访问,android正常,iPhone继续报错, 再改”Nov 11...Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]); document.write(date); 终于可以兼容所有浏览器咯,结论: iPhone中的safari...无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样的时间格式,而谷歌火狐等浏览器对这样的格式做了扩展, iPhone中的safari所支持的格式为 YYYY...,MM, DD,HH,mm,ss,这个问题纠结我大半天,真的好想把苹果的程序员拉出去枪毙10分钟,太TM特立独行了。
; 屏幕可用工作区宽度:window.screen.availWidth; scrollHeight: 获取对象的滚动高度。...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 event.offsetX...相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 document.documentElement.scrollTop 垂直方向滚动的值 event.clientX+document.documentElement.scrollTop...相对文档的水平座标+垂直方向滚动的量 要获取当前页面的滚动条纵坐标位置,用: document.documentElement.scrollTop; 而不是: document.body.scrollTop
在做一个小应用的时候,给一个面板设置了透明度(opacity:.9),在浏览页面的时候,发现滚动条居然透明了,如下图所示: ?...然后想是不是可以使用自定义来解决这个问题,找到这篇文章--《不用装扩展也可自定义Chrome滚动条的样式》 ::-webkit-scrollbar-track-piece{ background-color...webkit-scrollbar-thumb:hover{ height:50px; background-color:#9f9f9f; -webkit-border-radius:4px; } 现在的效果
出现的问题就是不能滚动。...解决办法 在Listview和GridView外面嵌套一个Expanded,不能滚动是因为Container尺寸计算的问题,Expande就是listview有多大就有多大。...GridView.builder( physics: NeverScrollableScrollPhysics(), scrollDirection: Axis.vertical, // 水平滚动...crossAxisCount: 3, //每行显示3列 childAspectRatio: 69/24, //显示区域宽高相等 mainAxisSpacing: 6.0,//每行的间距...crossAxisSpacing: 6.0, //每列的间距 ), itemCount: widget.data.subjectDtos.length
背景: 弹层里边有可滚动区域时,在移动端的坑我就不多说了。 找了很多解决滚动穿透的方案,最终都不能完美解决。 一气之下自己js撸了一个。 效果图: ?...原理: 1、解决滚动穿透:通过给弹层绑定touchmove和mousewheel事件,取消默认行为实现。...2、取消默认行为后不能滚动:给需要滚动展示的区域绑定touchstart、touchmove和mousewheel事件,监听触发区域的Y值,对应修改可滚动区域的translateY值,实现滚动效果。...} 47 $(this).css('transform', `translate(0px, ${transY}px)`); 48 /* 移动时,滚轮的变化监听...let y = e.originalEvent.deltaY; 70 if (y > 0) { 71 /* 向下翻滚轮 wheelDeltaY的值与之相反
ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。...此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。...但是,简单的求模会出现问题:考虑用户向左滑的情形,则position可能会出现负值。所以我们需要对负值再处理一次,使其落在正确的区间内。...* 例如当前如果在第一页,本来准备播放的是第二页,而这时候用户滑动到了末页, * 则应该播放的是第一页,如果继续按照原来的第二页播放,则逻辑上有问题。 ...,这主要是避免在复杂环境下消息出现重复等问题。
近期完成了一个儿童的测评项目,测试到最后的时候发现在ipad mini上登陆成功之后无法跳转页面,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是...找了好多的资料,国内的,基本都是牛头不对马嘴,根本不是这回事。...最后直接google国外的资料,终于在第n页看到了一个帖子:http://stackoverflow.com/questions/5327341/strange-problem-with-cookies-in-safari-and-asp-net...找到问题所在了:Safari will not set cookies with non-ASCII characters in their value and other browsers can be...就是非ASCII码的汉字或符号,是不被认可的字符。那么只好对需要设置的cookie进行了UrlEncode,读取的时候再来UrlDecode。 测试结果:OK!
Cookie safari bugs 因为 mac os(safari,iphone(h5),ipad 等) 安全策略的问题,在设置安全 cookie 的时候,在验证图形验证码的时候,会出现储存不了 cookie...通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP协议记录稳定的状态信息成为了可能。...chrome 的储存器 存储查看器使你能够查看网页使用的多种存储类型。...还列出了作为网络呼叫响应的一部分创建的 Cookie,但仅适用于工具打开时发生的响应 IndexedDB — 所有页面创建的IndexedDB或或页面中任何的- IndexedDB。...其对象存储以及存储在这些对象库中的项目。 本地存储— 所有页面创建的本地存储或页面中任何的 iframes。 Session存储—所有页面创建的 Session 或页面中任何的 iframes。
,而安卓和pc端都可以,找了大半天bug,发现其他的苹果设备都没问题,只能一个一个的调试,结果发现设备的系统是ios8.3,在该系统下cookie没有设置上,导致没有跳转。...找了好多的资料,国内的,基本都是牛头不对马嘴,根本不是这回事。...最后直接google国外的资料,终于在第n页看到了一个帖子:http://stackoverflow.com/questions/5327341/strange-problem-with-cookies-in-safari-and-asp-net...找到问题所在了:Safari will not set cookies with non-ASCII characters in their value and other browsers can be...就是非ASCII码的汉字或符号,是不被认可的字符。那么只好对需要设置的cookie进行了UrlEncode,读取的时候再来UrlDecode。
随着移动端市场的份额越大,需求就越多样化。我们今天讨论的是移动端的滚动穿透问题。上面这段调侃的话可以看出需求中弹窗浮层还是挺常见的,那这个和滚动穿透有什么联系呢?...我先解释下什么是滚动穿透: 页面滑出了一个弹窗,我们用手指触摸屏幕滑动时,会发现弹窗下面的内容还是在滚动。这个现象就是滚动穿透。 接下就说下我对滚动穿透问题解决方案探索的过程,希望对大家有点启发。...突然意识到写弹窗的时候忘记处理滚动穿透的问题了。记得第一次遇到这个问题的时候也是找了很久的资料。...即: body 的滚动位置会丢失,也就是 body 的 scrollTop 属性值会变为 0。 这个新问题比起滚动穿透本身来说更加麻烦,所以这个方案是要进行优化的。...,下方的 body 是固定的无法滚动; body 的滚动位置不会丢失; body 有 scroll 事件; 方案二可以适应绝大多数的弹窗需求,提测后测试方也没有在提其他问题,这个问题算是完美的解决了。
最近要上个项目,其实很简单的东西,就是拼接一个url,不过url中的参数需要UrlEncode编码的,其实对我来说,这个问题很好解决,C#用HttpUtility.UrlEncode来进行编码,asp用...问题解决了吗?问题刚刚开始 因为这个公用转向文件,是针对所有分站的,分站代码有.net和asp两种,文件编码格式也不一样。 头大的事情开始了。...asp站的文件编码是gb2312,虽然.net的文件格式也是gb2312,但因为webconfig里设置的requestEncoding是utf8的,所以在接收中文的时候,无论你UrlDeCode怎么解码...如果是你自己的小项目,这样的改动或许不算什么,可如果牵涉到很多项目,在你没办法改的情况下怎么办呢????...虽然我这个问题不是什么大问题,但有时候真的会让你感到头疼,为了这个问题,花了我3个小时,网上也没有任何解答,所以写下来,希望对大家有所帮助8cad0260
然而,许多企业在如何开发实时交付软件方面存在问题。那么直播带货系统开发如何才能达到高标准的市场水平,下面带着大家一起从开发角度了解一下。...一、适应市场化的需要 直播带货系统开发可以根据自身市场定位用户群体的需求,来开发相关的产品信息和带货商城的功能步骤,更适合于个电商平台开拓的新途径,增加了便捷性。...如果直播系统开发只发挥其原有的功能性,根本无法解决社会变化所带来的用户需求的改变。所以,如果有一个开源的直播带货系统开发,这个问题就可以解决了。...1603781616(1).jpg 四、及时处理问题 直播系统在运行期间难免会出现各种的问题,如果直播带货系统开发的源码不是开源的,那就无法单独检查问题的来源,而开源直播带货系统开发的优势就在于,运行期间遇到问题时...,专业技术人员可以根据直播带货系统开发进行检查,立即发现问题,并立即处理,从而节省时间和成本。
之前写过一篇博客 关于 ScrollViewer 和滚动轮劫持(scroll-wheel-hijack),里面介绍了 ScrollViewer 的滚动轮劫持问题,以及如果解决。...暂时发现简单地用附加属性处理,除非查找 VisualTree 上的父节点 ScrollView 并调用它的 LineUp 和 LineDown ,全部代码如下: public class ScrollViewerService...{ /// /// 从指定元素获取 CanScrollOuter 依赖项属性的值。.../// /// 从中读取属性值的元素。 /// 从属性存储获取的属性值。.../// /// 对其设置属性值的元素。 /// 要设置的值。
duilib的Combo控件的下拉框是一个独立的子窗口,类名:CComboWnd。...从duilib的源码可以知道,CComboUI控件在Add到布局上的时候,自己的m_pManager还是当前所在窗口的管理器指针,这样默认的滚动条样式图片等都在其中。...但是下拉框子窗体CComboWnd却有自己的一个CPaintManagerUI对象m_pm,而这个m_pm却没有从m_pManager中拿到滚动条的样式等资源(好像字体也是,好在字体可以直接指定全局共享...),这样就出现了滚动条不显示的问题。...其实duilib原本设计的应该是通过dropbox属性来设置下拉框的属性等,只是我也没去调试这个dropbox的属性值应该怎么去写。所以就冒昧改了一下源码。
领取专属 10元无门槛券
手把手带您无忧上云