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

网站建设做网站好吗专业做网站推广

网站建设做网站好吗,专业做网站推广,wordpress 文章循环,网络销售如何推广1px 问题指的是:在一些 Retina屏幕 的机型上,移动端页面的 1px 会变得很粗,呈现出不止 1px 的效果。原因很简单——CSS 中的 1px 并不能和移动设备上的 1px 划等号。它们之间的比例关系有一个专门的属性来描述: window.devicePix…

1px 问题指的是:在一些 Retina屏幕 的机型上,移动端页面的 1px 会变得很粗,呈现出不止 1px 的效果。原因很简单——CSS 中的 1px 并不能和移动设备上的 1px 划等号。它们之间的比例关系有一个专门的属性来描述:

window.devicePixelRatio = 设备的物理像素 / CSS像素。

打开 Chrome 浏览器,启动移动端调试模式,在控制台去输出这个 devicePixelRatio 的值。这里选中 iPhone6/7/8 这系列的机型,输出的结果就是2: 

 这就意味着设置的 1px CSS 像素,在这个设备上实际会用 2 个物理像素单元来进行渲染,所以实际看到的一定会比 1px 粗一些。 

解决1px 问题的三种思路:

思路一:直接写 0.5px

如果之前 1px 的样式这样写:

border:1px solid #333

可以先在 JS 中拿到 window.devicePixelRatio 的值,然后把这个值通过 JSX 或者模板语法给到 CSS 的 data 里,达到这样的效果(这里用 JSX 语法做示范):

<div id="container" data-device={{window.devicePixelRatio}}></div>

然后就可以在 CSS 中用属性选择器来命中 devicePixelRatio 为某一值的情况,比如说这里尝试命中 devicePixelRatio 为2的情况:

#container[data-device="2"] {border:0.5px solid #333
}

直接把 1px 改成 1/devicePixelRatio 后的值,这是目前为止最简单的一种方法。这种方法的缺陷在于兼容性不行,IOS 系统需要8及以上的版本,安卓系统则直接不兼容。

思路二:伪元素先放大后缩小

这个方法的可行性会更高,兼容性也更好。唯一的缺点是代码会变多。

思路是先放大、后缩小:在目标元素的后面追加一个 ::after 伪元素,让这个元素布局为 absolute 之后、整个伸展开铺在目标元素上,然后把它的宽和高都设置为目标元素的两倍,border值设为 1px。接着借助 CSS 动画特效中的放缩能力,把整个伪元素缩小为原来的 50%。此时,伪元素的宽高刚好可以和原有的目标元素对齐,而 border 也缩小为了 1px 的二分之一,间接地实现了 0.5px 的效果。

代码如下:

#container[data-device="2"] {position: relative;
}
#container[data-device="2"]::after{position:absolute;top: 0;left: 0;width: 200%;height: 200%;content:"";transform: scale(0.5);transform-origin: left top;box-sizing: border-box;border: 1px solid #333;}
}
思路三:viewport 缩放来解决

这个思路就是对 meta 标签里几个关键属性下手:

<meta name="viewport" content="initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">

这里针对像素比为2的页面,把整个页面缩放为了原来的1/2大小。这样,本来占用2个物理像素的 1px 样式,现在占用的就是标准的一个物理像素。根据像素比的不同,这个缩放比例可以被计算为不同的值,用 js 代码实现如下:

const scale = 1 / window.devicePixelRatio;
// 这里 metaEl 指的是 meta 标签对应的 Dom
metaEl.setAttribute('content', `width=device-width,user-scalable=no,initial-scale=${scale},maximum-scale=${scale},minimum-scale=${scale}`);

这样解决了,但这样做的副作用也很大,整个页面被缩放了。这时 1px 已经被处理成物理像素大小,这样的大小在手机上显示边框很合适。但是,一些原本不需要被缩小的内容,比如文字、图片等,也被无差别缩小掉了。

http://www.bjxfkj.com.cn/article/110421.html

相关文章:

  • 企业网站管理的含义及内容柳州企业网站制作哪家好
  • 方案巴巴策划网站上饶哪里培训网站建设
  • 网站的开发工具wordpress 制作瀑布流单页
  • 安庆建设银行网站阳江网红景点
  • 建立自己的网站可以采用的方式有沈阳三好街附近做网站
  • 做网站生意不赚钱织梦技校招生网网站模板整站源码
  • 一流本科专业建设网站wordpress图片无法居中显示
  • 上海网络推广服务公司厦门优化网站排名
  • 江西建设银行官方网站北京市房山建设培训学校网站
  • wordpress行间距龙岗seo网络推广
  • 宿州网站建设贰聚思诚信jsp网站开发实例实验报告
  • c2c交易会被判刑嘛免费seo网站推荐一下软件
  • 做饲料机的川工网站吴江网站建设收费
  • 做网站需要哪些素材做网站挣外快
  • 一个备案号可以用几个网站域名购买需要多少钱
  • 网站集群建设相关的招标如何做电商带货
  • 淘宝客网站整站源码中恒诚信建设有限公司网站
  • 阿里巴巴国际站怎么找客户先锋设计网站
  • 网站开发合同支付成都网站seo
  • 贵州城乡住房建设网站一个企业网站文章多少适合
  • 黄山做网站建网站什么样的域名最好
  • 工业园区网站建设方案手机支付网站开发
  • 怎样让百度快速收录网站珠海专业网站制作公司
  • 网站的作用有哪些襄阳seo优化排名
  • 网站建设背景需要写些什么软件wordpress 1g内存
  • 做网站哪个软件好安平有做网站推广的吗
  • 网站运营课程济南网签查询系统
  • 北京移动端网站设计杭州做网站比较出名的公司
  • 官方网站数据如何做脚注桐庐县网站建设
  • 赚钱的网站开发项目用wordpress做什么内容