Web前端之路

平时自己项目中用到的 CSS

2019-08-06  本文已影响2人  传奇内服号

outline移除当选中input元素的时候会出现状态线

An outline is a line that is drawn around elements (outside the borders) to make the element"stand out".包裹elements 的一个线,一般设置成none 。div {    outline: none; //一般情况下移除它    // outline: 5px dotted red; 也可以设置样式}复制代码

contenteditable设置element是否可编辑

可编辑

复制代码

可以通过input, blur事件来监听element的输入和输入完后鼠标离开。

webkit-playsinline

手机video 都可以在页面中播放,而不是全屏播放了。

position: absolute, 让margin有效的

设置left:0, right:0 margin: 0 auto; 就可以。原因是2边都是0不存在边距,element就可以得出距离,并居中。div {    position: absolute;    left: 0;    right: 0;    margin: 0 auto;}复制代码

使用clearfix 清除浮动,解决父类高度崩塌。

.clearfix {    zoom: 1;}.clearfix:after {    visibility: hidden;    display: block;    font-size: 0;    content:" ";    clear: both;    height: 0; }复制代码

user-select 禁止用户选中文本

div {    user-select: none; /* Standard syntax */}复制代码

清除手机tap事件后element 时候出现的一个高亮

* {    -webkit-tap-highlight-color: rgba(0,0,0,0);}复制代码

::-webkit-scrollbar-thumb

可以修改浏览器的滚动条样式。IE火狐可能不支持。复制代码

-webkit-appearance:none

To apply platform specific styling to an element that doesn't have it by default

To remove platform specific styling to an element that does have it by default

移除浏览器默认的样式,比如chrome的input默认样式,然后就可以定义需要的样式。

input, button, textarea, select {    *font-size: 100%;    -webkit-appearance:none;}复制代码

CSS开启硬件加速

www.cnblogs.com/rubylouvre/…

-webkit-transform: translateZ(0);复制代码

使用CSS transforms 或者 animations时可能会有页面闪烁的bug

-webkit-backface-visibility: hidden;复制代码

-webkit-touch-callout 禁止长按链接与图片弹出菜单

-webkit-touch-callout: none;复制代码

transform-style: preserve-3d  让元素支持3d

div {    transform: rotateY(60deg);    transform-style: preserve-3d;}复制代码

perspective 透视

这个属性的存在决定你看到的元素是2d还是3d。一般设置在包裹元素的父类上。

.div-box {    perspective: 400px; }复制代码

css实现不换行、自动换行、强制换行

//不换行white-space:nowrap;//自动换行word-wrap:break-word; word-break: normal; //强制换行word-break:break-all;复制代码

box-sizing 让元素的宽度、高度包含border和padding

{    box-sizing: border-box;}复制代码

calc() function, 计算属性值

div {    width: calc(100% - 100px);}复制代码

上面的例子就是让宽度为100%减去100px的值,项目中很适用,IE9以上

css3 linear-gradient 线性渐变

默认开始在top, 也可以自定义方向。

div {    linear-gradient(red, yellow)}background: linear-gradient(direction, color-stop1, color-stop2, ...);复制代码

常用的选择器 :nth-child() Selector

选择父类下第一个子节点,p元素

p:nth-child(1) {    ...}复制代码

-webkit-font-smoothing 字体抗锯齿

使用该属性能让页面上的字体变得清晰,但是也会造成font-weight: bold 加粗变得异常。不信你试试...

div {    -webkit-font-smoothing: antialiased; }复制代码

更新3-31

CSS3 filter Property 图片过滤

img {    filter: grayscale(100%); //灰度    filter: blur(5px); //模糊    filter:brightness(200%); //高亮    filter:saturate(8); //饱和    filter:sepia(100%); //怀旧    ...}复制代码

移动端可以使用,IE兼容不好。更多请

使用css创建三角形

这个很多面试题好像问到,但实际中我也确实使用了。

div {    border-bottom: 10px solid white;    border-right: 10px solid transparent;    border-left: 10px solid transparent;    height: 0px;    width: 0px; }复制代码

transparent 透明

clip属性,截取你想要显示的图片

img {    position: absolute;    clip: rect(0px,60px,200px,0px);}复制代码

你有兴趣可以看

设置文字,字母间距,很实用 letter-spacing

h1 {    letter-spacing: *px; //也可以是负数}复制代码

更新4-3 补充

关于display: box 和 display: flex,前者是2009实施,后者2012年,如果你的安卓比较老请使用display: box,但是2者的表现可能有点不同。下面是兼容方法。

display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */display: -moz-box; /* Firefox 17- */display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */display: -moz-flex; /* Firefox 18+ */display: -ms-flexbox; /* IE 10 */display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */复制代码具体问题

更新4-12 补充

图片运动过程中,图片模糊问题

在animation过程中,图片会出现模糊的情况,可以设置如下在图片上面。

transform: translate3d(0, 0, 0);复制代码

使用margin aotu

div {  width: 100px;  position: absolute;  right: 0;}// 使用margin-left: auto 自动算出做左边宽度,实现内容贴右边div {  width: 100px;  margin-left: auto;}复制代码

后续追加...有错误的地方请指正,谢谢。

上一篇下一篇

猜你喜欢

热点阅读