欢迎提issues 斧正: css小技巧css
p { font-size: 10px; -webkit-transform: scale(.83); }
此方法在前端页面须要展现更小字体,兼容浏览器时很是有用。前端
p { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
此方法对前端页面容错很是有效,由于一个元素里的内容太多,就会致使显示不完,省略号让用户体验更好。若是元素宽高没限制,内容太多会致使文本溢出,严重影响用户体验。git
div { width:200px; height:200px; transition: box-shadow .5s; -moz-transition: box-shadow .5s; -webkit-transition: box-shadow .5s; -o-transition: box-shadow .5s; } div:hover { box-shadow: 0 14px 20px #666; }
鼠标通过会有阴影效果,鼠标离开恢复。github
经常使用margin方法:web
div { width:200px; margin:0 auto; }
1/2宽高的margin,50%的left、top方法:chrome
div { Width:500px ; height:300px; Margin: -150px 0 0 -250px; position:relative; background-color:pink; left:50%; top:50%; }
LTRB值为0的方法:segmentfault
div { width: 400px; height: 300px; margin:auto; position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
transform方法浏览器
div { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
带文本元素的话,外面包一层div,让里面的line-height = height:ssh
p { height:30px; line-height:30px; }
flex弹性盒子布局居中:oop
div { display: flex; flex-flow: row wrap; width: 408px; align-items: center; justify-content: center; }
默认继承: font-size font-family color等, 元素有UL LI DL DD DT等;
不可继承: border padding margin width height 等表现元素大小的属性。
结尾处使用div空标签清除浮动(非div须要display:block),不过这种方式向DOM添加了没必要要的元素,使用不是不少。
.clear{clear:both;}
利用overflow属性。必须定义width或zoom:1,同时不能定义height,应用值为hidden或auto的overflow属性有一个有用的反作用,这会自动清理包含的任何浮动元素。
div { float:none; overflow:hidden; }
给父级div定义伪类:after和zoom(zoom为IE6.7专属)
.clearfix:after{ content:''; height:0; display:block; visibility:hidden; clear:both }
当使用height:auto 时应考虑到元素最大或最小的宽度高度,以便容错。、
div { min-height:500px; height:auto; max-width:500px; width:auto; }
<a href="mailto:xzavierhua@gmail.com" "email me">email me</a> a {cursor:not-allowed;}
cursor其余经常使用属性
default 默认光标(一般是一个箭头) auto 默认。浏览器设置的光标。 crosshair 光标呈现为十字线。 pointer 光标呈现为指示连接的指针(一只手) move 此光标指示某对象可被移动。 text 此光标指示文本。 wait 此光标指示程序正忙(一般是一只表或沙漏)。 help 此光标指示可用的帮助(一般是一个问号或一个气球)。
* { font-family: "PingFang SC","microsoft yahei",Arial,Helvetica,sans-serif; }
'PingFang SC'是mac下和微软雅黑接近的字体,'microsoft yahei'同'微软雅黑',不过有些网站不兼容中文(GB2312)的字符仍是用英文的比较好,Arial主要用于文字中的数字。
<a href="mailto:xzavierhua@gmail.com" "email me">email me</a> a {pointer-events:none;}
* { -moz-user-select:none; -webkit-user-select:none; -ms-user-select:none; user-select:none; }
被点击访问过的超连接样式不在具备hover和active的样式了,解决方法是改变CSS属性的排列顺序: L-V-H-A(link,visited,hover,active)
div { width:480px; height:320px; margin:50px auto; overflow: hidden; box-shadow:0 0 5px rgba(0,0,0,1); background-size: cover; background-position: center; -webkit-animation-name: "loops"; -webkit-animation-duration: 20s; -webkit-animation-iteration-count: infinite; } @-webkit-keyframes "loops" { 0% {background:url(0.jpg) no-repeat;} 25% {background:url(1.jpg) no-repeat;} 50% {background:url(2.jpg) no-repeat;} 75% {background:url(3.jpg) no-repeat;} 100% {background:url(4.jpg) no-repeat;} }
rgba()和opacity都能实现透明效果,但最大的不一样是opacity做用于元素,以及元素内的全部内容的透明度 ;
div { opacity:0.5; }
而rgba()只做用于元素的颜色或其背景色。设置rgba透明的元素的子元素不会继承透明效果。
div { background: rgba(255,255,0,0.8); }
div { -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }
css优先级为: !important > 内联样式 > id > class > tag
因此,使用!important时须要当心。
p:first-of-type 选择属于其父元素的首个p元素。
p:last-of-type 选择属于其父元素的最后p元素。
p:only-of-type 选择属于其父元素惟一的p元素。
p:only-child 选择属于其父元素的惟一子元素。
p:nth-child(n) 选择属于其父元素的第n个子元素。
:enabled :disabled 控制表单控件的禁用状态。
:checked 单选框或复选框被选中
::selection 匹配被用户选取的选取是部分
position参考文章:详解css相对定位和绝对定位
<div class="parent"> <div class="child"></div> </div> .parent{ position: absolute; //变换这段代码作测试 border: 1px solid #ccc; height: 200px; width: 200px; } .child{ position: relative; //变换这段代码作测试 left: 100px; top:100px; background: blue; height: 50px; width: 50px; }
relative:
若是设定TRBL,而且父级没有设定position属性,仍旧以父级的左上角为原点进行定位。 若是设定TRBL,而且父级设定position属性,则以父级的左上角为原点进行定位,位置由TRBL决定。若是父级有Padding属性,那么就之内容区域的左上角为原点,进行定位。 相对定位老是以父级左上角为原点进行定位的,若是父级不存在,则以浏览器左上角进行定位。
absolute:
若是设定TRBL,而且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由TRBL决定。 若是设定TRBL,而且父级设定position属性,则以父级的左上角为原点进行定位,位置由TRBL决 定。只以父级左上角为原点进行定位,父级的padding对其根本没有影响。 使用绝对定位的盒子以它的“最近”的一个“已经定位”的“祖先元素”为基准进行定位。若是没有已经定位的祖先元素,那么会以浏览器窗口为基准进行定位。 绝对定位的框从标准流中脱离,这意味着他们对其后的兄弟盒子的定位没有影响,其余的盒子好像就好像这个盒子不存在同样。
盒子阴影(box-shadow) 文本阴影(text-shadow、) transform:rotate(9deg)scale(0.85,0.90)translate(0px,-30px)skew(-9deg,0deg);// 旋转,缩放,定位,倾斜 媒体查询 @media (min-width: 1280px) border-image 嵌入图片形式的边框 border-image: url(border.png) 27/27px round; 线性渐变(gradient) linear-gradient 线性渐变 radial-gradient 径向渐变 等等