H5移动端 超实用的css3模拟边框最新研究示例代码
前言
在之前写的一篇博文《移动端H5的一些基本知识点总结 第五节 边框的处理》中,我提到,可以使用 box-shadow:0 0 0 1px #ddd;
这样的方式,来模拟边框.当然,博文中的内容并没有错,但是却有一定的局限性.因此,今天在这里,纠正和完善我之前的博文中的缺陷.
为什么要模拟边框,而不是直接写边框?
因为边框要计算盒子模型.而我们在移动端可能使用的是自适应布局的方式.这样计算边框很费劲.
因此,使用模拟边框的方法,就可以不用考虑边框的宽度的问题了,这样更加方便.
当然,使用box-sizing:border-box
这样的属性也可以将边框不计算在盒子模型里.
而且这种方法在很多现代CSS框架上都使用着.
但是我个人不推荐这种做法.因为,这样padding也不计算在盒子模型里面了.
反正我不喜欢这样的做法.所以我就模拟边框啦!
前文回顾
如果你不愿意去打开上面的链接,看下上一篇博文中说了什么.这里我就把两种关键的模拟方法给总结出来.如果不理解,可以去看,如果理解,就直接看下面的内容.
方法一 outline
模拟边框
使用 outline: 1px solid #ddd;
这样的描边线的方式模拟边框
优点:
1. 可以和 border
一样使用各种线形
2. 可以调整边框到盒子的距离 outline-offset
参数
缺点:
1. 不能做成贴合圆角元素(这被W3C认为是一个BUG,可能在不远的将来修复)
2. 只能一下子加到四边,不能只加一边.
方法二 box-shadow
模拟边框
使用 box-shadow:0 0 0 1px #ddd;
外发光模拟边框
优点:
1. 可以贴合圆角元素,生成完美的边框
2. 可以重复参数,生成多条边框
缺点:
1. 只有实线线性,不能做虚线
更多请看我前面的博文,或者百度相关信息.
box-shadow
可以模拟任意边的边框
我原来以为是做不到的.可见我的CSS功底还是不够强,还要努力学习呀.
上次我闲来无事,用一个p写了一套字母数字表 查看DEMO.虽然用到了相关的知识点,但是还是没有往模拟边框的这条思路上靠.
今天仔细一想,原来 box-shadow
是可以模拟四条边中的任意一条边的.因此,才写下这篇博文.
语言太多,都不如直接看代码:
html代码
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <p class="box sibian"></p> <p class="box shangbian"></p> <p class="box xibian"></p> <p class="box zuobian"></p> <p class="box youbian"></p> <p class="box zuoshangbian"></p> <p class="box youshangbian"></p> <p class="box zuoxiabian"></p> <p class="box youxiabian"></p> <p class="box wushangbian"></p> <p class="box wuyoubian"></p> <p class="box wuxiabian"></p> <p class="box wuzuobian"></p></body></html>
CSS代码
.box {width: 100px; height: 100px;background: #f00; margin: 50px;float: left;} .sibian {box-shadow: 0 0 0 5px #000;} .shangbian {box-shadow: 0 -5px #000;} .xibian {box-shadow: 0 5px #000;} .zuobian {box-shadow: -5px 0 #000;} .youbian {box-shadow: 5px 0 #000;} .zuoshangbian {box-shadow: -5px -5px #000,-5px 0 #000,0 -5px #000;} .youshangbian {box-shadow: 5px -5px #000,5px 0 #000,0 -5px #000;} .zuoxiabian {box-shadow: -5px 5px #000,-5px 0 #000,0 5px #000;} .youxiabian {box-shadow: 5px 5px #000,5px 0 #000,0 5px #000;} .wushangbian {box-shadow: 5px 5px #000,5px 0 #000,0 5px #000,-5px 5px #000,-5px 0 #000;} .wuyoubian {box-shadow: -5px -5px #000,-5px 0 #000,0 -5px #000,-5px 5px #000,0 5px #000;} .wuxiabian {box-shadow: -5px -5px #000,-5px 0 #000,0 -5px #000,5px -5px #000,5px 0 #000;} .wuzuobian {box-shadow: 5px -5px #000,5px 0 #000,0 -5px #000,5px 5px #000,0 5px #000;}
查看box-shadow模拟边框DEMO
总结
利用了
box-shadow
的属性可以无限重复特性,可以通过不断的填充,来满足我们的需求.并且,
box-shadow
可以只设置两个值,这样就没有扩展,没有虚化,一比一的移动.box-shadow
的缺点依然存在,就是只能模拟实线,不能模拟虚线在圆角的运用上,需要更好的计算,反正是利用多重覆盖的特性
做1px的边框,是最简单的.
以上是H5移动端 超实用的css3模拟边框最新研究示例代码的详细内容。更多信息请关注PHP中文网其他相关文章!

H5的高级技巧包括:1.利用进行复杂图形绘制,2.使用WebWorkers提升性能,3.通过WebStorage增强用户体验,4.实现响应式设计,5.利用WebRTC实现实时通信,6.进行性能优化和最佳实践。这些技巧帮助开发者构建更动态、互动和高效的Web应用。

H5(HTML5)将通过新元素和API提升网页内容和设计。1)H5增强了语义化标记和多媒体支持。2)它引入了Canvas和SVG,丰富了网页设计。3)H5的工作原理是通过新标签和API扩展HTML功能。4)基本用法包括使用创建图形,高级用法涉及WebStorageAPI。5)开发者需注意浏览器兼容性和性能优化。

H5带来了多项新功能和能力,极大提升了网页的互动性和开发效率。1.语义化标签如、增强了SEO。2.多媒体支持通过和标签简化了音视频播放。3.Canvas绘图提供了动态图形绘制工具。4.本地存储通过localStorage和sessionStorage简化了数据存储。5.地理位置API便于开发基于位置的服务。

HTML5带来了五个关键改进:1.语义化标签提升了代码清晰度和SEO效果;2.多媒体支持简化了视频和音频嵌入;3.表单增强简化了验证;4.离线与本地存储提高了用户体验;5.画布与图形功能增强了网页的可视化效果。

HTML5的核心特性包括语义化标签、多媒体支持、离线存储与本地存储、表单增强。1.语义化标签如、等,提升代码可读性和SEO效果。2.和标签简化多媒体嵌入。3.离线存储和本地存储如ApplicationCache和LocalStorage,支持无网络运行和数据存储。4.表单增强引入新输入类型和验证属性,简化处理和验证。

H5提供了多种新特性和功能,极大地增强了前端开发的能力。1.多媒体支持:通过和元素嵌入媒体,无需插件。2.画布(Canvas):使用元素动态渲染2D图形和动画。3.本地存储:通过localStorage和sessionStorage实现数据持久化存储,提升用户体验。

H5和HTML5是不同的概念:HTML5是HTML的一个版本,包含新元素和API;H5是基于HTML5的移动应用开发框架。HTML5通过浏览器解析和渲染代码,H5应用则需要容器运行并通过JavaScript与原生代码交互。

HTML5的关键元素包括、、、、、等,用于构建现代网页。1.定义头部内容,2.用于导航链接,3.表示独立文章内容,4.组织页面内容,5.展示侧边栏内容,6.定义页脚,这些元素增强了网页的结构和功能性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3汉化版
中文版,非常好用