本文分享关于CSS应用中的一些小技巧, 如果有不对的地方,欢迎指出建议和意见。
Github项目地址:Great-CSS-Tips-You-Should-Know,欢迎fork和star,如果有更多的tips,也欢迎提交PR。
使用CSS来垂直居中一切元素
其实很简单, 使用下面的代码就让你的所有元素都垂直居中
如果你的需求不只是垂直居中的话–比如你想要上下左右都居中, 那么, 可以看看我的另外一个项目: css-center-complete
使用CSS来制作箭头
如果使用CSS来画我们常用的箭头呢? 就像下面这样:
这是个困扰我很久的问题, 不过最终, 我还是找到了一个比较好的解决方案
假设你的html是下面这样写的:
我们要的效果是footer一直位于底部, 同时, 当内容的高度增加时, 他也会被内容给挤下去. 所以, 我们需要像下面这样定义CSS:
使用CSS避免图片超出包含块
我们想要我们的大图放在我们的文章或者其他地方, 所以, 要避免这些图片超出内容, 怎么做呢?
使用CSS制作带有分割线的导航
制作一个带有分割线的横向导航, 可以使用CSS的:not
和:last-child
来实现
使用CSS来通过动态计算设置元素的高度
不得不说, CSS3的calc
属性真的很棒, 我们可以使用这个属性来动态计算一个元素的高度
当你使用calc来计算元素的高度的时候你要注意, 计算的高度是依赖于父级元素的高度的, 所以, 你需要先设置父级元素的高度
使用CSS设置全屏图片
Set a full page image is so common for the website nowadays.
现在的很多网站都采用了全屏的图片, 那么, 这是怎么实现的呢? 有两种方法:
1. 设置全屏背景图
2. 使用img
标签的全屏图片
要使用img
标签的话, 最好是将它放在一个div中
使用CSS的BFC来清除浮动
使用BFC的特性来清除浮动是一个很常用的手段. 因为, 当计算BFC的高度的时候, 浮动元素也会参与计算.
使用CSS来去除display为inline-block的li之间的间隙
当制作一个横向列表的时候, 我们一般设置li
的display
属性为inline-block
但是, 这样就有一个问题就是每两个li
之间总是会有你不知道是什么的间隙
所以, 该怎么解决呢? 其实很简单, 设置ul
的font-size
为0, 再对li
的字体大小进行单独设置就行了
使用CSS实现图片预加载
使用CSS来避免闪烁
如果我们的内容在图片加载好之前渲染好的话, 我们可能会看到包含块被撑开的一个过程, 这个过程就叫做闪烁
所以,我们应该尽量避免这种现象, 通过margin/padding
来实现
你应该能看到, 图片没有加载出来的时候, 内容也是有高度的.
使用CSS来制作图片加载失败的效果
在图片加载失败的时候, 使用CSS来让加载失败的图片显得更美观更友好