Search组件的封装

Search组件的封装_第1张图片
实现如图中间的searchbar
react native中判断设备的dpi信息
Search组件的封装_第2张图片
DPR:
  设备像素比DPR(devicePixelRatio)是默认缩放为100%的情况下,设备像素和CSS像素的比值
  dpr,也被成为device pixel ratio,即物理像素与逻辑像素的比,那也就不难理解:iphone6下dpr=2,iphone6+下dpr=3(考虑的是栅格化时的像素,并非真实的物理像素);

DPR = 设备像素 / CSS像素(某一方向上)
1
在早先的移动设备中,并没有DPR的概念。随着技术的发展,移动设备的屏幕像素密度越来越高。从iphone4开始,苹果公司推出了所谓的retina视网膜屏幕。之所以叫做视网膜屏幕,是因为屏幕的PPI(屏幕像素密度)太高,人的视网膜无法分辨出屏幕上的像素点。iphone4的分辨率提高了一倍,但屏幕尺寸却没有变化,这意味着同样大小的屏幕上,像素多了一倍,于是DPR = 2

实际上,此时的CSS像素对应着以后要提到的理想视口,其对应的javascript属性是screen.width/screen.height

而对于设备像素比DPR也有对应的javascript属性window.devicePixelRatio

以iphone8为例,iphone8的CSS像素为375px677px,DPR是2,所以其设备像素为750px1354px

750(px) / 375(px) = 2
1354(px) / 677(px) = 2
750(px)*1354(px) / 375(px)*677(px) = 4
Search组件的封装_第3张图片
window.devicePixelRatio
但是能用css就不使用js,使用媒体查询搞定
dpr是1,
styleSearchBar.ts
Search组件的封装_第4张图片
Search组件的封装_第5张图片

cookBook.tsx

SearchBar.tsx

你可能感兴趣的:(前端学习,css,javascript,html5)