• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > H5移动端 超实用的css3模拟边框最新研究示例代码

H5移动端 超实用的css3模拟边框最新研究示例代码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含HTML5,CSS3,模拟边框等相关知识,匿名希望在学习及工作中可以帮助到您

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

总结

  1. 利用了 box-shadow 的属性可以无限重复特性,可以通过不断的填充,来满足我们的需求.

  2. 并且, box-shadow 可以只设置两个值,这样就没有扩展,没有虚化,一比一的移动.

  3. box-shadow 的缺点依然存在,就是只能模拟实线,不能模拟虚线

  4. 在圆角的运用上,需要更好的计算,反正是利用多重覆盖的特性

  5. 做1px的边框,是最简单的.

以上就是H5移动端 超实用的css3模拟边框最新研究示例代码的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03html5 音频播放图文实例
  • 2018-12-03H5的Drag与Drop详解
  • 2018-12-03HTML5 规范何时能正式发布?
  • 2018-12-03教你如何实现一个H5微场景
  • 2018-12-03HTML5 canvas实现画图程序(附代码)
  • 2018-12-03HTML5实现Tab切换(通过js代码)
  • 2018-12-03图片添加入门教程:10个图片添加零基础入门教程推荐
  • 2018-12-03NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
  • 2018-12-03HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍_html5教程技巧
  • 2018-12-03揭秘谷歌AMP项目:google amp是如何提高网页加载速度的?

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 字符编码是什么?html5如何设置字符编码?
    • 突破canvas语法限制 让他支持链式语法
    • HTML5 有哪些让你惊艳的 demo?
    • 使用canvas设计出一个简易的画板
    • 基于第一个PhoneGap(cordova)的应用详解
    • HTML5 input placeholder 颜色修改示例
    • 使用HTML5进行SVG矢量图形绘制的入门教程
    • li标签实现日期,标题右对齐的方法
    • H5学习之旅-H5的表单(11)
    • HTML常用的属性知识点总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有