css圆角不圆和1px方案
1.圆角不圆
比如需要我们画一个 r 为 5px 的圆,如果我们使用 rem 作为单位,我们很快会发现在一些机型上的图案不圆,会呈现椭圆形。这是由于 rem 转 px 会存在精度丢失问题。
所以这个时候我们就需要使用 px 配合 dpr 来实现:
.circle(@size,@backgroundColor){
width:@size;
height:@size;
background-color:@backgroundColor;
[data-dpr='1']&{
width:@size*0.5;
height:@size*0.5;
}
[data-dpr='3']&{
width:@size*1.5;
height:@size*1.5;
}
}
2.1px 细线问题
1.使用伪类 + transform
.border_bottom{
overflow:hidden;
position:relative;
border:none!inportant;
}
.border_bottom:after{
content:'';
position:absolute;
left:0;
bottom:0;
width:100%;
height:1px;
background-color:#d4d6d7;
-webkit-transfrom-origin:0 0;
transfrom-origin:0 0;
-webkit-transform:scaleY(0.5);
transform:scaleY(0.5);
}
使用box-shadow模拟
.border_bottom{
box-shadow:inset 0px -1px 1px -1px #d4d6d7;
}
3. 从 html 元素继承 box-sizing
在大多数情况下我们在设置元素的 border
和 padding
并不希望改变元素的 width,height
值,这个时候我们就可以为该元素设置 box-sizing:border-box;
。
我不希望每次都重写一遍,而是希望他是继承而来的,那么我们可以使用如下代码:
html{
box-sizing:border-box;
}
*,*:before,*:after{
box-sizing:inherit;
}
这样的好处在于他不会覆盖其他组件的 box-sizing
值,又无需为每一个元素重复设置 box-sizing:border-box;
。
4. 内联首屏关键 CSS
性能优化中有一个重要的指标 —— 首次有效绘制(FMP),即指页面的首要内容(primary content)出现在屏幕上的时间。这一指标影响用户看到页面前所需等待的时间,而 内联首屏关键 CSS(即 Critical CSS,可以称之为首屏关键 CSS) 能给用户一个更好的心理预期。
我们知道内联 CSS 能够使浏览器开始页面渲染的时间提前,即在 HTML 下载完成之后就能渲染了。
既然是内联关键 CSS,也就说明我们只会将少部分的 CSS 代码直接写入 HTML 中。至于内联哪些 CSS 你可以使用 Critical。
5.超出省略
.line-camp{
text-overflow:-o-ellipsis-lastline;
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-line-clamp:@clamp;
-webkit-box-orient:vertical;//这句在webpack打包时会省略
}
解决方案
.line-camp{
text-overflow:-o-ellipsis-lastline;
overflow:hidden;
text-overflow:ellipsis;
display:-webkit-box;
-webkit-line-clamp:@clamp;
/*!autoprefixer:off*/
-webkit-box-orient:vertical;//这句在webpack打包时会省略
/*!autoprefixer:on*/
}
6.两端对齐
html
<div>姓名</div>
<div>手机号码</div>
<div>密码</div>
css
div{
margin:10px 0;
width:100px;
text-align-last:justify;
}
本文摘自公众号 作者:小生方勤「前端词典」系列文章作者,致力于输出对读者有帮助的文章
css圆角不圆和1px方案的更多相关文章
- 大神写的一个纯CSS圆角框,膜拜!(支持IE9一下的低版本)
留着提醒自己,底层才是最重要的,不要一直傻瓜的编程下去! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- DIV+CSS圆角边框
简洁型css圆角: 方法1: 简洁型css圆角矩形 code1: <style type="text/css"> .b1,.b2,.b3,.b4,.b1b,.b2b,. ...
- CSS圆角进化论
CSS圆角发展过程 大致经历了3个阶段,包括: 背景图片实现圆角 CSS2.0+标签模拟圆角 CSS3.0圆角属性(border-radius属性)实现圆角 ☛背景图片实现圆角:==使用背景图片实现 ...
- 兼容性很好的纯css圆角
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
- CSS圆角框,圆角提示框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- CSS画矩形、圆、半圆、弧形、半圆、小三角、疑问框
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- CSS 圆角框
转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...
- 谈谈一些有趣的CSS题目(八)-- 纯CSS的导航栏Tab切换方案
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- css圆角矩形及去掉空格属性
css圆角矩形 -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; 去掉空格 white-space:nowra ...
随机推荐
- Java里的阻塞队列
JDK7提供了7个阻塞队列,如下: ArrayBlockingQueue : 一个数组结构组成的有界阻塞队列. LinkedBlockingQueue : 一个由链表结构组成的有界阻塞队列 . Pr ...
- BZOJ 1634 [Usaco2007 Jan]Protecting the Flowers 护花:贪心【局部分析法】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1634 题意: 约翰留下他的N只奶牛上山采木.可是,当他回来的时候,他看到了一幕惨剧:牛们正 ...
- Linux_学习_01_常用命令大全
一.文件目录 1.列出目录 ls -a #显示隐藏文件 -l #显示文件和目录的详细资料 -h -lrt tree #显示文件和目录由根目录开始的树形结构 lstree #显示文件和目录由根目录开始的 ...
- SpringBoot_Exception_02_Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.6.RELEASE:run
一.现象 上一个异常解决之后,出现了这个异常: [WARNING] The requested profile "pom.xml" could not be activated b ...
- find命令的基础用法以及按文件修改时间查找文件
一般文件查找方法: find 命令学好是一件很有趣的事情,也可以帮你在查找系统文件的时候事倍功半,还可以与正则表达式结合使用,功能强大,是一个很好的查找工具.可以整体提高你的系统管理能力. 基础用法 ...
- win7 jenkins 修改主目录
1.安装tomcat 2.下载Jenkins.war包,把Jenkins.war放在D:\01Install\tomcat\webapps目录下,启动tomcat
- H5内容安全尺寸
设备独立像素:iPhone5:320 * 568 >> 微信网页可视区高度:504px iPhone6:375 * 667 >> 微信网页可视区高度:603px 设备独立像 ...
- 【Python】数组排序
1.numpy库:argsort() argsort函数返回的是数组值从小到大的索引值(升序排列) 一维: In [1]: import numpy as np In [2]: x = np.arra ...
- Happy Great BG-卡精度
Happy Great BG Time Limit: 2000ms Case Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO ...
- C#中使用GetCursorPos获取屏幕坐标
[StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; public POINT ...