您当前的位置:首页 > 枫桥随记 > CSS笔记网站首页CSS笔记
常用css样式效果,包含文字图片特效
文章简介 包含css文字水平居中,css文字垂直居中,css图片宽度自适应,css3D按钮,CSS绘制三角形,页面顶部阴影,黑白图像,取消IE文本框的滚动条,容器的水平和垂直居中等等……

css文字水平居中
将一段文字置于容器的水平中点,只要设置text-align属性即可:
text-align:center; 容器水平居中先该容器设置一个明确宽度,然后将margin的水平值设为auto即可。
div#container { width:760px; margin:0 auto; }
文字垂直居中
单行文字的垂直居中,只要将行高与容器高设为相等即可。
比如,容器中有一行数字。
<div id="container">1234567890</div>
然后CSS这样写:
div#container {height: 35px; line-height: 35px;}
如果有n行文字,那么将行高设为容器高度的n分之一即可。
容器垂直居中
比如,有一大一小两个容器,请问如何将小容器垂直居中?
<div id="big"> <div id="small"> </div></div>
首先,将大容器的定位为relative。
div#big{position:relative;height:480px; }
然后,将小容器定位为absolute,再将它的左上角沿y轴下移50%,最后将它margin-top上移本身高度的50%即可。
div#small { position: absolute; top: 50%; height: 240px; margin-top: -120px; }
图片宽度自适应
如何使得较大的图片,能够自动适应小容器的宽度?CSS可以这样写:
img {max-width: 100%}
3D按钮特效
要使按钮具有3D效果,只要将它的左上部边框设为浅色,右下部边框设为深色即可。
div#button { background: #888; border: 1px solid; border-color: #999 #777 #777 #999; }
font属性快捷写法
font快捷写法的格式为:
body { font: font-style font-variant font-weight font-size line-height font-family; }
所以,
body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal; font-variant: small-caps; font-style: italic; line-height: 150%; }
可以被写成:
body { font: italic small-caps normal 13px/150% Arial, Helvetica, sans-serif; }
link状态设置顺序
link的四种状态,需要按照下面的前后顺序进行设置:
a:link a:visited a:hover a:active CSS优先性 如果同一个容器被多条CSS语句定义,那么哪一个定义优先呢?
基本规则是:行内样式 > id样式 > class样式 >
标签名样式
比如,有一个元素:
<div id="ID" class="CLASS" style="color:black;"></div>
行内样式是最优先的,然后其他设置的优先性,从低到高依次为:
div < .class < div.class < #id < div#id < #id.class < div#id.class font-size基准 浏览器的缺省字体大小是16px,你可以先将基准字体大小设为10px:
body {font-size:62.5%;}
后面统一采用em作为字体单位,2.4em就表示24px。
h1 {font-size: 2.4 em}
Text-transform和Font Variant
Text-transform用于将所有字母变成小写字母、大写字母或首字母大写:
p {text-transform: uppercase} p {text-transform: lowercase} p {text-transform: capitalize}
Font Variant用于将字体变成小型的大写字母(即与小写字母等高的大写字母)。
p {font-variant: small-caps}
用图片充当列表标志
默认情况下,浏览器使用一个黑圆圈作为列表标志,可以用图片取代它:
ul {list-style: none} ul li { background-image: url("path-to-your-image"); background-repeat: none; background-position: 0 0.5em; }
透明
将一个容器设为透明,可以使用下面的代码:
.element { filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5; }
在这四行CSS语句中,第一行是IE专用的,第二行用于Firefox,第三行用于webkit核心的浏览器,第四行用于Opera。
CSS绘制三角形
如何使用CSS生成一个三角形?先编写一个空元素
<div class="triangle"></div>
然后,将它四个边框中的三个边框设为透明,剩下一个设为可见,就可以生成三角形效果:
.triangle { border-color: transparent transparent green transparent; border-style: solid; border-width: 0px 300px 300px 300px; height: 0px; width: 0px; }
禁止自动换行
如果你希望文字在一行中显示完成,不要自动换行,CSS命令如下:
h1 { white-space:nowrap; }
用图片替换文字
有时我们需要在标题栏中使用图片,但是又必须保证搜索引擎能够读到标题,CSS语句可以这样写:
h1 { text-indent:-9999px; background:url("h1-image.jpg") no-repeat; width:200px; height:50px; } 获得焦点的表单元素 当一个表单元素获得焦点时,可以将其突出显示:
input:focus { border: 2px solid green; }
!important规则
多条CSS语句互相冲突时,具有!important的语句将覆盖其他语句。由于IE不支持!important,所以也可以利用它区分不同的浏览器。
h1 { color: red !important; color: blue; }
上面这段语句的结果是,其他浏览器都显示红色标题,只有IE显示蓝色标题。
CSS提示框
当鼠标移动到链接上方,会自动出现一个提示框。
<a class="tooltip" href="#">链接文字 <span>提示文字</span></a>
CSS这样写:
a.tooltip {position: relative} a.tooltip span {display:none; padding:5px; width:200px;} a:hover {background:#fff;} /*background-color is a must for IE6*/ a.tooltip:hover span{display:inline; position:absolute;}
容器的水平和垂直居中
HTML代码如下:
<figure class='logo'> <span></span> <img class='photo'/></figure>
CSS代码如下:
.logo { display: block; text-align: center; display: block; text-align: center; vertical-align: middle; border: 4px solid #dddddd; padding: 4px; height: 74px; width: 74px; } .logo * { display: inline-block; height: 100%; vertical-align: middle; } .logo .photo { height: auto; width: auto; max-width: 100%; max-height: 100%; }
CSS阴影 外阴影:
.shadow { -moz-box-shadow: 5px 5px 5px #ccc; -webkit-box-shadow: 5px 5px 5px #ccc; box-shadow: 5px 5px 5px #ccc; }
CSS阴影 内阴影:
.shadow { -moz-box-shadow:inset 0 0 10px #000000; -webkit-box-shadow:inset 0 0 10px #000000; box-shadow:inset 0 0 10px #000000; } 取消IE文本框的滚动条 textarea { overflow: auto; }
黑白图像
这段代码会让你的彩色照片显示为黑白照片,是不是很酷?
img.desaturate { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%);}
使用 :not() 在菜单上应用/取消应用边框
先给每一个菜单项添加边框
.nav li { border-right: 1px solid #666;}
然后再除去最后一个元素
.nav li:last-child { border-right: none;}
可以直接使用 :not() 伪类来应用元素:
.nav li:not(:last-child) { border-right: 1px solid #666;}
这样代码就干净,易读,易于理解了。
当然,如果你的新元素有兄弟元素的话,也可以使用通用的兄弟选择符(~):
.nav li:first-child ~ li { border-left: 1px solid #666;}
页面顶部阴影
下面这个简单的 CSS3 代码片段可以给网页加上漂亮的顶部阴影效果:
body:before { content: ""; position: fixed;top: -10px; left: 0; width: 100%;height: 10px; -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8); -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8); box-shadow: 0px 0px 10px rgba(0,0,0,.8); z-index: 100;} 给 body
添加行高
你不需要分别添加 line-height 到每个p,h标记等。只要添加到 body 即可,这样文本元素就可以很容易地从 body 继承。
body { line-height: 1;}
所有一切都垂直居中
要将所有元素垂直居中,太简单了:注意:在IE11中要小心flexbox。
html, body { height: 100%; margin: 0;}body { -webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-flex; display: flex;}
逗号分隔的列表
让HTML列表项看上去像一个真正的,用逗号分隔的列表,对最后一个列表项使用 :not() 伪类。
ul > li:not(:last-child)::after { content: ",";} 使用负的 nth-child
选择项目
CSS中使用负的nth-child选择项目1到项目n
li { display: none;}/* select items 1 through 3 and display them */li:nth-child(-n+3) { display: block;}
对图标使用
SVG 我们没有理由不对图标使用SVG,SVG对所有的分辨率类型都具有良好的扩展性,并支持所有浏览器都回归到IE9。这样可以避开.png、.jpg或.gif文件了。
.logo { background: url("logo.svg");}
优化显示文本
有时,字体并不能在所有设备上都达到最佳的显示,所以可以让设备浏览器来帮助你:
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
注:请负责任地使用 optimizeLegibility。此外,IE /Edge没有 text-rendering 支持。
对纯CSS滑块使用 max-height
使用 max-height 和溢出隐藏来实现只有CSS的滑块
.slider ul { max-height: 0; overlow: hidden;}.slider:hover ul { max-height: 1000px; transition: .3s ease;}

玉龙博客个人收集整理,给有需要的朋友参考学习!
写文章不易,如果您觉得文章对您有帮助。
打赏激励下作者吧,谢谢支持!
~(@^_^@)~

微信打赏扫一扫

支付宝打赏扫一扫