当前位置:网站首页>The problem of 1 pixel border on the mobile terminal
The problem of 1 pixel border on the mobile terminal
2022-04-23 20:27:00 【Yunmo - brother Kuang's blog】
Mobile 1 Pixel border problem
----- If the screen resolution of our mobile phone is relatively high , It's a double screen or triple screen , If we write on the page border-bottom: 1px; What we write at this time is 1px, But it's actually css Pixels , Not physical pixels , If we watch carefully , On a double or triple screen, it's not actually 1 Individual physical pixels , It's the height of two physical pixels or three pixels , In order to solve the problem of multiple screen 1 The problem that pixel borders will be displayed as multi-pixel borders , Need to introduce a solution , This scheme is a css file
Here's this css Source code of the document
@charset "utf-8";
.border, .border-top, .border-right, .border-bottom, .border-left, .border-topbottom, .border-rightleft, .border-topleft, .border-rightbottom, .border-topright, .border-bottomleft {
position: relative;
}
.border::before, .border-top::before, .border-right::before, .border-bottom::before, .border-left::before, .border-topbottom::before, .border-topbottom::after, .border-rightleft::before, .border-rightleft::after, .border-topleft::before, .border-topleft::after, .border-rightbottom::before, .border-rightbottom::after, .border-topright::before, .border-topright::after, .border-bottomleft::before, .border-bottomleft::after {
content: "\0020";
overflow: hidden;
position: absolute;
}
/* border * because , The border is covered by a pseudo element area at the parent level * so , If there is interaction between children , You need to set up * location And z Axis */
.border::before {
box-sizing: border-box;
top: 0;
left: 0;
height: 100%;
width: 100%;
border: 1px solid #eaeaea;
transform-origin: 0 0;
}
.border-top::before, .border-bottom::before, .border-topbottom::before, .border-topbottom::after, .border-topleft::before, .border-rightbottom::after, .border-topright::before, .border-bottomleft::before {
left: 0;
width: 100%;
height: 1px;
}
.border-right::before, .border-left::before, .border-rightleft::before, .border-rightleft::after, .border-topleft::after, .border-rightbottom::before, .border-topright::after, .border-bottomleft::after {
top: 0;
width: 1px;
height: 100%;
}
.border-top::before, .border-topbottom::before, .border-topleft::before, .border-topright::before {
border-top: 1px solid #eaeaea;
transform-origin: 0 0;
}
.border-right::before, .border-rightbottom::before, .border-rightleft::before, .border-topright::after {
border-right: 1px solid #eaeaea;
transform-origin: 100% 0;
}
.border-bottom::before, .border-topbottom::after, .border-rightbottom::after, .border-bottomleft::before {
border-bottom: 1px solid #eaeaea;
transform-origin: 0 100%;
}
.border-left::before, .border-topleft::after, .border-rightleft::after, .border-bottomleft::after {
border-left: 1px solid #eaeaea;
transform-origin: 0 0;
}
.border-top::before, .border-topbottom::before, .border-topleft::before, .border-topright::before {
top: 0;
}
.border-right::before, .border-rightleft::after, .border-rightbottom::before, .border-topright::after {
right: 0;
}
.border-bottom::before, .border-topbottom::after, .border-rightbottom::after, .border-bottomleft::after {
bottom: 0;
}
.border-left::before, .border-rightleft::before, .border-topleft::after, .border-bottomleft::before {
left: 0;
}
@media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx) {
/* The default value is , No need to reset */
}
@media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49), (min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49), (min-resolution: 144dpi) and (max-resolution: 239dpi), (min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) {
.border::before {
width: 200%;
height: 200%;
transform: scale(.5);
}
.border-top::before, .border-bottom::before, .border-topbottom::before, .border-topbottom::after, .border-topleft::before, .border-rightbottom::after, .border-topright::before, .border-bottomleft::before {
transform: scaleY(.5);
}
.border-right::before, .border-left::before, .border-rightleft::before, .border-rightleft::after, .border-topleft::after, .border-rightbottom::before, .border-topright::after, .border-bottomleft::after {
transform: scaleX(.5);
}
}
@media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5), (min-resolution: 240dpi), (min-resolution: 2.5dppx) {
.border::before {
width: 300%;
height: 300%;
transform: scale(.33333);
}
.border-top::before, .border-bottom::before, .border-topbottom::before, .border-topbottom::after, .border-topleft::before, .border-rightbottom::after, .border-topright::before, .border-bottomleft::before {
transform: scaleY(.33333);
}
.border-right::before, .border-left::before, .border-rightleft::before, .border-rightleft::after, .border-topleft::after, .border-rightbottom::before, .border-topright::after, .border-bottomleft::after {
transform: scaleX(.33333);
}
}
notes :
I have also shared some small problems and solutions encountered in the development of mobile terminals before , If you are interested, you can go and have a look , Link address attached
Click here , More surprises ! Thank you guys
版权声明
本文为[Yunmo - brother Kuang's blog]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210551061497.html
边栏推荐
- R language ggplot2 visual facet_wrap, and use the lineheight parameter to customize the height of the facet icon tab (gray label bar)
- Automatically fill in body temperature and win10 task plan
- LeetCode 116. Populate the next right node pointer for each node
- SQL Server Connectors By Thread Pool | DTSQLServerTP plugin instructions
- Cadence OrCAD capture batch change component packaging function introduction graphic tutorial and video demonstration
- LeetCode 709、转换成小写字母
- Imitation Baidu map realizes the three buttons to switch the map mode by automatically shrinking the bottom
- DNS cloud school | analysis of hidden tunnel attacks in the hidden corner of DNS
- How many hacking methods do you know?
- [talkative cloud native] load balancing - the passenger flow of small restaurants has increased
猜你喜欢
Zdns was invited to attend the annual conference of Tencent cloud basic resources and share the 2020 domain name industry development report
Don't bother tensorflow learning notes (10-12) -- Constructing a simple neural network and its visualization
【PTA】L1-002 打印沙漏
[graph theory brush question-5] Li Kou 1971 Find out if there is a path in the graph
Commande dos pour la pénétration de l'Intranet
Devaxpress report replay: complete the drawing of conventional two-dimensional report + histogram + pie chart
WordPress plug-in: WP CHINA Yes solution to slow domestic access to the official website
Identification of bolt points in aerial photography based on perception
LeetCode 994、腐烂的橘子
Operation of numpy array
随机推荐
【PTA】整除光棍
A useless confession artifact
After route link navigation, the sub page does not display the navigation style problem
Scripy tutorial - (2) write a simple crawler
Wave field Dao new species end up, how does usdd break the situation and stabilize the currency market?
【PTA】L1-002 打印沙漏
Zdns was invited to attend the annual conference of Tencent cloud basic resources and share the 2020 domain name industry development report
LeetCode 1351、统计有序矩阵中的负数
【PTA】L1-006 连续因子
The market share of the financial industry exceeds 50%, and zdns has built a solid foundation for the financial technology network
[stack and queue topics] - sliding window
Sqoop imports tinyint type fields to boolean type
Investigate why close is required after sqlsession is used in mybatties
XXXI` Prototype ` displays prototype properties and`__ proto__` Implicit prototype properties
Implementation of mypromise
Shanghai responded that "flour official website is an illegal website": neglect of operation and maintenance has been "hacked", and the police have filed a case
Es error: request contains unrecognized parameter [ignore_throttled]
Recognition of high-speed road signs by Matlab using alexnet
Es keyword sorting error reason = fielddata is disabled on text fields by default Set fielddata = true on keyword in order
黑客的入侵方式你知道几种?