当前位置: 首页 > news >正文

这算是CSS的bug吗?

     移动端web开发越来越火,同时移动端适配也是一个很让人头疼的事情,你不能让一个同样大小的元素在不同的设备上都显示一样大小。(iphone6和iphone4下大小肯定是应该不一样的,否则用户体验很差)

     曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜。可没想到到了移动时代,为了处理各终端的适配而乱了手脚。对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— 手淘的H5页面是如何实现多终端的适配 ?

那么趁此 Amfe阿里无线前端团队双11技术连载 之际,用一个实战案例来告诉大家,手淘的H5页面是如何实现多终端适配的,希望这篇文章对大家在Mobile的世界中能过得更轻松。

    研究了一下午flexible.js ,没想到被这个被这个border给搞的晕头转向的!

   先看看最常见的移动端1px问题:

   

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title></title>
		<style type="text/css">
			* {
				padding: 0px;
				margin: 0px;
			}
			
			.js {
				width: 40px;
				height: 40px;
				margin: 0 auto;
			}
			
			.main0 {
				width: 200px;
				height: 200px;
				margin: 0 auto;
				border: 1px solid red;
				transform: scale(0.2);   /*200*0.2=40*/
				margin-top: -80px; /*(200-40)/2=80*/
				margin-left: -80px;
			}
			
			.my {
				width: 100px;
				height: 100px;
				border: 1px solid red;
			}
		</style>
	</head>

	<body>
		<div class="js">
			<div class="main0"></div>
		</div>
		<div class="my"></div>
	</body>

</html>

  看到效果图,吓了我一跳:

   这个100px像素的正方形怎么跑到哪里去了?

   

 

   修改,给.js加上:border: 1px solid black; ,居然显示正常了!

  

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<title></title>
		<style type="text/css">
			* {
				padding: 0px;
				margin: 0px;
			}
			
			.js {
				width: 40px;
				height: 40px;
				margin: 0 auto;
				border: 1px solid black;  /*就是这一句,不知道为什么??*/
			}
			
			.main0 {
				width: 200px;
				height: 200px;
				margin: 0 auto;
				border: 1px solid red;
				transform: scale(0.2);   /*200*0.2=40*/
				margin-top: -80px; /*(200-40)/2=80*/
				margin-left: -80px;
			}
			
			.my {
				width: 100px;
				height: 100px;
				border: 1px solid red;
			}
		</style>
	</head>

	<body>
		<div class="js">
			<div class="main0"></div>
		</div>
		<div class="my"></div>
	</body>

</html>

 

  这又是什么情况??  一句border: 1px solid black;  这么拽?

  

 

看来还是要 用::before,

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

		<title></title>
		<style type="text/css">
			* {
				padding: 0px;
				margin: 0px;
			}
			
			.js {
				width: 60px;
				height: 60px;
				margin: 0 auto;
				position: relative;
			}
			
			.js::before {
				content: '';
				width: 200px;
				height: 200px;
				margin: 0 auto;
				border: 1px solid red;
				transform: scale(0.3);
				position: absolute;
				top: -70px;
				left: -70px;
			}
			
			.my {
				width: 100px;
				height: 100px;
				border: 1px solid red;
				margin: 0 auto;
			}
		</style>
	</head>

	<body>
		<div class="js">
			<div class="main0"></div>
		</div>
		<div class="my"></div>
	</body>

</html>

 

   谁能解释一下border到底是个什么鬼?? 跪谢!!!!!

   

相关文章:

  • MAC OS X IOS系统调用的处理
  • 8位二进制补码表示整数的最小值是什么,最大值是什么
  • ttlsa教程系列之mongodb——(五)mongodb架构-复制原理复制集
  • Eclipse中java获得mysql的查询结果集
  • 成熟的软件组件都是老板用大把、大把的钱堆出来烧出来的,以最简单的数据库访问组件为例...
  • Cookie 在前端中的实践
  • 事务(Transaction)
  • Android之ubuntu源码开发环境搭建笔记
  • [转]Nodejs基础中间件Connect
  • mybatis 中的where标签
  • 高并发量网站解决方案
  • WinPcap的开发与应用:获取设备列表
  • 什么是JSON ?
  • Java-优秀博客推荐
  • ConfigFileApplicationListener
  • 【391天】每日项目总结系列128(2018.03.03)
  • 4. 路由到控制器 - Laravel从零开始教程
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • crontab执行失败的多种原因
  • django开发-定时任务的使用
  • flask接收请求并推入栈
  • HTML-表单
  • JavaScript创建对象的四种方式
  • MaxCompute访问TableStore(OTS) 数据
  • tweak 支持第三方库
  • Unix命令
  • 记录:CentOS7.2配置LNMP环境记录
  • 离散点最小(凸)包围边界查找
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 鱼骨图 - 如何绘制?
  • 怎么将电脑中的声音录制成WAV格式
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)Oracle存储过程编写经验和优化措施
  • (转)项目管理杂谈-我所期望的新人
  • ******之网络***——物理***
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .NET CLR Hosting 简介
  • .NET Core 中的路径问题
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • /etc/motd and /etc/issue
  • @GlobalLock注解作用与原理解析
  • @JoinTable会自动删除关联表的数据
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @RequestMapping处理请求异常