作者:Ahmad Shadded 译者:前端小智 来源:css-tricks 你是否曾经试着点击或点击一个元素(例如:按钮、链接),并且注意到只有单击该元素的特定区域,它才会响应?...用户应该能够使用台式机/笔记本电脑上的键盘以及移动设备或平板电脑上的触摸屏来操作输入。 不要在移动设备屏幕上将按钮设置得太小,以免按下正确的按钮。 触摸目标的最小尺寸最好至少为44 x 44像素。...按钮 在需要时使用实际真实(包含可点击区域)非常重要。...我把鼠标悬停在按钮上,光标仍然是一个指针,这很好。不过,我也可以选择文本和悬停时,有一个文本光标!如果使用了正确的元素,就不会发生这种情况。 ?...章节标题 在某些情况下,需要在章节标题的远端添加“查看更多”按钮或箭头。 在下面的示例中,我将箭头放置在假圆中,以便可以正确地使箭头居中。
知识点:许多开发人员不知道它(学习100+HTML元素需要一点时间)。 样式上:附带复杂的默认样式,这可能很难实现自定义外观。 幸运的是,样式部分可以北修复!...这是我们想要做的事情: 可应用于链接或按钮的“按钮”样式; 我们希望有选择地应用它,因为我们的页面中会有其他链接和按钮样式。 这需要一个CSS组件。...对于其他人来说,使用鼠标或触摸指针是不可能的或困难的。 他们依靠使用键盘或专用设备访问网站。 在我见过的大多数Web项目中,设计师都指定了预期的鼠标移过样式,但未指定焦点样式。 我们应该做什么?...处理focus样式 还有一个棘手的问题。 在多个浏览器中,当您单击链接或按钮时,将应用两个伪类: :active :focus 一旦停止按下鼠标按钮或触控板,“active”伪类就会停止应用。...由于它尚未被浏览器实现,我们将不得不使用JavaScript实现,比如有些polyfill。 它在整个页面上运行,并且仅在使用键盘时才将焦点可见的类设置为接收焦点的元素。
例如,number输入显示移动设备上的数字键盘。该字段可能会显示一个微调器,键盘上/下光标按下将增加和减少值。 大多数字段类型是显而易见的,但也有例外。...例如,信用卡是数字,但增量/减量微调器没用,输入 16 位数字时很容易向上或向下按。最好使用标准text类型,但将inputmode属性设置为numeric,这会显示合适的键盘。...CSS 验证样式 您可以将以下伪类应用于输入字段以根据当前状态对其进行样式设置: 选择器 描述 :focus 重点领域 :focus-within 一个元素包含一个具有焦点的字段(是的,它是一个父选择器...你可以: 停止验证,直到用户与字段交互或提交表单 使用自定义样式显示错误消息 提供仅在 HTML 中无法实现的自定义验证。...当它这样做时,分配给该字段的任何自定义验证功能将依次执行。必须全部返回true才能使该字段有效。 无效字段具有invalid应用于该字段的父元素的类,该类使用 CSS 显示红色帮助消息。
hover 算是比较熟悉的了,在 PC 上鼠标悬停于此时 :hover 伪类生效,比如 链接 的样式正是采用 :hover 实现鼠标经过时反馈,以提示用户这是可点击的。...不过还是有点问题,比如一台 iPad mini 这种中尺寸设备,竖屏 + 鼠标情况下,但凡鼠标掠过就会调出下拉菜单;或者即便是 PC,把窗口缩小也同样是掠过频繁调出下拉菜单……毕竟是为了小尺寸设备设计的而其中并非全是触摸设备...桌面端 移动端 focus 持续到失去焦点 松开时进入,持续到失去焦点 hover 悬停期间 按下时进入,持续到失去焦点 active 单击按下期间 触摸按下期间 综合来看,focus 是最合适的。...而 标签在这里只是作为一个按钮使用,并不想被点击后有任何跳转,所以不会给它带上 href 属性,自然也就不可聚焦。...PC iOS Android focus 持续到失去焦点 默认不可用 松开时进入,持续到失去焦点 hover 悬停期间 按下时进入,持续到失去焦点 按下时进入,持续到失去焦点 active 单击按下期间
你可能已经熟悉了它的部分功能,如使用console和debugger在线编辑CSS。在这篇文章中,我们将分享15个有助于改进你的开发流程的技巧。...八、设备模式 对于开发移动友好页面,DevTools包含了一个非常强大的模式,这个谷歌视频介绍了其主要特点,如调整屏幕大小、触摸仿真和模拟糟糕的网络连接。...九、设备传感仿真 设备模式的另一个很酷的功能是模拟移动设备的传感器,例如触摸屏幕和加速计。你甚至可以恶搞你的地理位置。...在CSS编辑器中可以利用这个功能 十二、可视化的DOM阴影 Web浏览器在构建如文本框、按钮和输入框一类元素时,其它基本元素的视图是隐藏的。...十三、选择下一个匹配项 当在Sources标签下编辑文件时,按下Ctrl + D (Cmd + D) ,当前选中的单词的下一个匹配也会被选中,有利于你同时对它们进行编辑。
这里我有分享一下我对它的配置项的使用说明一下。...buttonMarkup.hoverDelay:200, //整形 默认值:200 //该属性设置触摸触摸某一个 jQuery Mobile 按钮后添加 hover 和 down 的 class...属性,那么该元素会自动降低 jQuery Mobile //增强(jQuery Mobile 元素增强指的是 jQuery Mobile 对网页基本元素在样式上的丰富、交互上的增强以及相应的 HTML...//需要注意的是,当你使用了 data-命名空间后,你需要更新 jQuery Mobile css 文件的选择器,格式如下 //.ui-mobile [data-custom-role=page],...touchOverflowEnabled:false // 布尔型 默认值:false //设置是否使用设备的原生区域滚动特性,除了 iOS5 之外大部分的设备到目前还不支持原生的区域滚动特性
对于只需要适配手机设备,使用px即可。 对于需要适配各种移动设备,使用rem,例如只需要适配iPhone和iPad等分辨率差别比较挺大的设备。...移动设备上的web网页是有300ms延迟的,往往会造成按钮点击延迟甚至是点击失效。 解决方案: fastclick可以解决在手机上点击事件的300ms延迟。.../2,例如视觉稿40px的字体,使用样式的写法为20px。...移动端触摸按钮的效果,可明示用户有些事情正要发生,是一个比较好体验,但是移动设备中并没有鼠标指针,使用css的hover并不能满足我们的需求,还好国外有个激活css的active效果,代码如下: <html...: //竖屏时使用的样式 @media all and (orientation:portrait) { .css{} } //横屏时使用的样式 @media all and (orientation
200-300 ms的延迟响应 移动设备上的web网页是有300ms延迟的,玩玩会造成按钮点击延迟甚至是点击失效。...1/2,例如视觉稿40px的字体,使用样式的写法为20px .css{font-size:20px} 参考《高清显示屏原理及设计方案》 ios系统中元素被触摸时产生的半透明灰色遮罩怎么去掉 ios用户点击一个链接...hover效果 移动端触摸按钮的效果,可明示用户有些事情正要发生,是一个比较好体验,但是移动设备中并没有鼠标指针,使用css的hover并不能满足我们的需求,还好国外有个激活css的active效果,代码如下...//竖屏时使用的样式 @media all and (orientation:portrait) { .css{} } //横屏时使用的样式 @media all and (orientation...下不支持position:fixed的问题》 如何阻止windows Phone的默认触摸事件 winphone下默认触摸事件事件使用e.preventDefault是无效的 目前解决方法是使用样式来禁用
级联 由于 CSS 来源有多种,所以浏览器需要一种方法来确定哪些样式应该应用于给定的元素。...或者它可以生成两个不同的位图,并允许合成程序仅在应用了该动画的层上执行动画本身。 在大多数情况下,浏览器将选择选项2并生成以下内容(我有意简化了Word Online为此示例生成的图层数量): ?...浏览器不断跟踪各种输入,当这些输入正在移动时,它会经历称为命中测试的过程。 对于此示例,该过程如下所示: ? 用户将鼠标移到按钮上。...浏览器触发鼠标已移动的事件,并进入命中测试算法,该算法本质上是问“鼠标正在触摸哪个 box” 该算法返回链接到我们的 “SHARE IT” 按钮。...它快速运行此框及其子框的样式/级联,并确定:hover 在声明块内部有一个仅使用绘制样式调整的伪类。 它将这些样式挂起 DOM 元素(正如我们在级联阶段所学到的),在这种情况下是按钮。
我只是很用心的写一下这篇文章,希望这些使用技巧对大家有用。...回到顶部 设备传感仿真 设备模式的另一个很酷的功能是模拟移动设备的传感器,例如触摸屏幕和加速计。你甚至可以恶搞你的地理位置。...Pretty Print的按钮在Sources标签的左下角。 ? 回到顶部 颜色选择器 当在样式编辑中选择了一个颜色属性时,你可以点击颜色预览,就会弹出一个颜色选择器。...回到顶部 选择下一个匹配项 当在Sources标签下编辑文件时,按下Ctrl + D (Cmd + D) ,当前选中的单词的下一个匹配也会被选中,有利于你同时对它们进行编辑。 ?...回到顶部 可视化的DOM阴影 eb浏览器在构建如文本框、按钮和输入框一类元素时,其它基本元素的视图是隐藏的。
mousedown 用户按下鼠标按钮时触发,通常用于捕捉鼠标按下的瞬间。 mouseup 用户释放鼠标按钮时触发,通常用于捕捉鼠标释放的瞬间。...键盘事件 (Keyboard Events) 事件名称 描述 keydown 用户按下键盘上的键时触发,通常用于捕捉键盘按下的瞬间。...触摸事件 (Touch Events) ❝仅适用于支持触摸屏的设备 ❞ 事件名称 描述 touchstart 用户触摸屏幕时触发,通常用于捕捉触摸操作的瞬间。...touchmove 用户在屏幕上滑动时触发,通常用于跟踪触摸滑动的位置变化。 touchend 用户停止触摸屏幕时触发,通常用于捕捉触摸操作的结束。...JavaScript代码 使用async或defer,以便仅在需要时执行JavaScript代码。
固定空白 仅当您选择了按比例隔开的字体时,此选项才适用。固定间距字体(例如Courier New)不受影响。...如果启用,Source Insight将尝试对空格和制表符使用固定宽度,以便制表符以与固定间距字体相同的方式排列。如果您使用的是比例字体,则通常在打开该程序的情况下看起来更好。...上下文线 这仅在您选择了关键字表达式搜索方法时才适用。这指定了关键字必须以行数紧密匹配才能匹配的资格。请参阅:关键字表达式。...Source Insight将确定找到的每个引用是否实际上都在引用您要查找的符号。 匹配精确参考会减慢参考查找过程。...如果您在编译时依赖于标识符用法,这将很有用。只需打开它并使用此命令搜索参考。引用标识符的位置将被“触摸”,并且您的make程序或开发系统将在下次构建程序时重新编译这些文件。
它支持响应式布局,并且在V3版本之后坚持移动设备优先。 为什么要使用Bootstrap?...我们只要在基本的HTML元素上通过设置class就能够应用上Bootstrap的样式,从而使我们的页面更美观和谐。...table-hover 鼠标悬停变色的表格 .table-condensed 紧缩型表格 .table-responsive 响应式表格 状态类 Class 描述 .active 鼠标悬停在行或单元格上时所设置的颜色...用到的技术: CSS3@media查询 用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸、是否可触摸、屏幕精度、横屏竖屏等信息。...(单位为缩放为 100% 时的 CSS 的像素)。
事件处理器 想象一下,有一个接口,若想知道键盘上是否有一个键是否被按下,唯一的方法是读取那个按键的当前状态。为了能够响应按键动作,你需要不断读取键盘状态,以在按键被释放之前捕捉到按下状态。...第 18 章将展示如何实现。 指针事件 目前有两种广泛使用的方式,用于指向屏幕上的东西:鼠标(包括类似鼠标的设备,如触摸板和轨迹球)和触摸屏。 它们产生不同类型的事件。...触摸事件 我们使用的图形浏览器的风格,是考虑到鼠标界面的情况下而设计的,那个时候触摸屏非常罕见。 为了使网络在早期的触摸屏手机上“工作”,在某种程度上,这些设备的浏览器假装触摸事件是鼠标事件。...习题 气球 编写一个显示气球的页面(使用气球 emoji,\ud83c\udf88)。 当你按下上箭头时,它应该变大(膨胀)10%,而当你按下下箭头时,它应该缩小(放气)10%。...当它生效时将其扩展,为当前选中的选项卡,将按钮的样式设为不同的,以便明确选择了哪个选项卡。
2、 viewport 在移动端用来承载网页的这个区域就是我们的视觉窗口viewport,这个区域可以设置高度宽度,可以按比例放大缩小,而且能设置是否允许用户自行缩放。 ?...user-scalable:用户是否可以缩放,yes或no(1或0)。 7 8 栅格系统:Bootstrap中定义了一套响应式的网格系统,其使用方式就是将一个容器划分成
标签可以包含纯文本或样式文本。如果您调整标签的样式或使用自定义字体,请确保不要牺牲易读性。最好采用动态类型,这样当用户更改设备上的文本大小时,标签的可读性仍然可以很好。...日期选择器 日期选择器是用于使用触摸屏,键盘或定点设备选择特定日期,时间或两者的有效界面。您可以使用以下样式之一显示日期选择器: 日期选择器是用于使用触摸屏,键盘或鼠标选择特定日期、时间的有效界面。...折叠后,紧凑型样式将显示一个按钮,该按钮以应用程序的主色显示当前值。当人们点击按钮时,日期选择器将扩展为模式视图,从而提供对熟悉的日历样式编辑器和时间选择器的访问。...在iOS 12及更早版本中,以及在全面屏显示的设备上,网络活动指示器会在发生联网时在屏幕顶部的状态栏中旋转,联网完成后消失。和活动加载指示器样式一样,并且是非交互式的。 ?...自定义开关的视觉样式,使它与你的设计更协调。根据设计风格,自定义开关在其关闭和打开时的背景颜色,可以使开关在APP中的体验更好。 仅在列表中使用开关。开关用在列表中,例如可以打开和关闭的设置列表。
因此, 如果有元素在触摸过程中可能被移除, 最佳实践是将触摸事件的监听器绑定到这个元素本身, 防止元素被移除后, 无法再从它的上一级元素上侦测到从该元素冒泡的事件....这在面向非精确触摸设备(由手指直接操作的触摸屏)开发时非常有用. 这些值描述了一个尽可能接近实际接触面(例如用户的指尖)的椭圆....返回鼠标指针相对于上一个mousemove事件位置的水平坐标 movementY 返回鼠标指针相对于上一个mousemove事件位置的垂直坐标 target 返回与触发鼠标事件的元素相关的元素 which 返回触发鼠标事件时按下的鼠标按钮...altKey 返回触发鼠标事件时是否按下ALT键 ctrlKey 返回触发鼠标事件时是否按下CTRL键 shiftKey 返回触发事件时是否按下SHIFT键 metaKey 返回触发事件时是否按下META...此值也可以解释为像素大小的比率:一个 CSS 像素的大小与一个物理像素的大小的比值。简单地说,这告诉浏览器应该使用多少个屏幕的实际像素来绘制单个 CSS 像素。
在进行移动前端开发时,开发者需要考虑一系列特殊因素,包括响应式设计、触摸事件处理、性能优化等。本文将深入探讨在移动设备上进行前端开发时需要考虑的重要因素。...流式布局: 使用流式布局,使内容能够自动适应不同屏幕尺寸,确保不会出现水平滚动条。媒体查询: 使用CSS媒体查询来根据不同屏幕尺寸应用不同的样式,从而适配不同设备。...移动友好的交互元素: 保证按钮、链接等交互元素足够大,易于点击,以适应手指触摸操作。触摸事件处理在移动设备上,用户主要通过触摸操作来与网站或应用进行交互。...可以使用合适的CSS样式或JavaScript来扩大可点击区域。手势支持: 考虑支持常见的手势,如滑动、捏合、双击等,以提升用户操作的便捷性。...兼容性测试: 在不同的移动浏览器中进行充分的测试,确保应用在各种情况下都能正常工作。前缀和特性: 了解不同浏览器的前缀和支持情况,避免使用过时或不支持的CSS属性和JavaScript特性。
上下按钮用拖动方式体感上还不如直接用侧栏菜单的按钮功能来的方便。尤其是考虑到PC端,手机端,窄屏设备,触屏电脑等设备动作的监测判断。总是牵扯到一大堆的交集。然后就是点击动作在某个屏宽比下会执行两次。...这个悬浮按钮不打算实装了,作为学习用吧。bug太多,不修啦。 魔改步骤 SAO UI PLAN 相关项目为本站原创项目,因此均为内测版,在样式适配上仅针对本站进行调整,因此在泛用性上存在缺漏。...mouseDown变量判断当前是否为悬浮菜单被按下,再进行move判断 let isMoveDot = false; //悬浮菜单是否为可移动状态 let isFirstMove = false;...//因为move事件要移动才能触发,start时刷新为true,保证对第一次move的识别 let startTip; //提示可移动 function start(e){ isMoveDot...这样子的话能避免屏宽比和设备的影响。 还有就是手机端按钮存在遮挡正文的问题,貌似 Dorakika 是有设计可以拖动位置的,但是代码大概给我误删了。
方法一:手动方法 手动方法涉及创建一个 CSS 类数组,然后使用 Array.join() 方法将这些类连接成一个字符串,该字符串将应用于组件。...我们使用 join() 方法而不是 toString() 方法,因为 toString() 方法返回的字符串使用逗号作为分隔符来连接数组中的 CSS 类。当应用于元素时,这无法生成预期的样式。...: 当我们在浏览器的开发者工具中检查该元素时: 这些类被逗号分隔,并作为单个类而不是单独的类应用于按钮上。...没有明确的条件:很难理解在什么条件下将不同的 CSS 类应用于元素,这可能会使调试代码变得困难。 方法二:使用 clsx 库 clsx 是一个轻量级的实用库,用于管理 CSS 类的应用。...保存文件后,您将得到同样漂亮的按钮: 这种方法可以进一步优化,在应用相应的 CSS 类之前检查 prop 是否具有有效值,而不是在 prop 的值为 true 时应用与任何 prop 相关联的 CSS
领取专属 10元无门槛券
手把手带您无忧上云