CSS在网站建设中使用技巧
css基本技巧;
1. CSS box模型的另一种调整技巧
这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:
#box { width: 100px; border: 5px; padding: 20px }
这样调用它:
<div id="box">...</div>这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。但用CSS也可以达到同样的目的,让它们显示效果一致。#box { width: 150px } #box div { border: 5px; padding: 20px }
这样调用:
<div id="box"><div>...</div></div>这样,不管什么浏览器,宽度都是150点了。2. 直通到屏幕底部的背景色
在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:
#navigation { background: blue; width: 150px }
较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。
body { background: url(blue-image.gif) 0 0 repeat-y }
此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。
3. CSS border的缺省值通常可以设定边界的颜色,宽度和风格,如:
border: 3px solid #000这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。4. CSS在容器内定位
CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:
#container { position: relative }
这样容器内所有的元素都会相对定位,可以这样用:
<div id="container"><div id="navigation">...</div></div>如果想定位到距左30点,距上5点,可以这样:#navigation { position: absolute; left: 30px; top: 5px }
当然,你还可以这样:
margin: 5px 0 0 30px注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。5. 块元素居中对齐
如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:#content { width: 700px; margin: 0 auto }
你会使用 <div id="content"> 来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:
body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto }
这会把网页内容都居中,所以在Content中又加入了
text-align: left 。6. 图片替换技巧
一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。
比如你想整个卖东西的图标,你就用了这个图片:
<h1><img src="widget-image.gif" alt="Buy widgets" /></h1>这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:<h1>Buy widgets</h1>但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:h1 { background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。
7. 同时使用两个类
一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:
<p class="text side">...</p>
同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。
补充:对于一个ID,不能这样写<p id="text side">...</p>也不能这样写8. 用CSS来处理垂直对齐
垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。9. CSS用于文档打印
许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:
<link type="text/css" rel="stylesheet" href="stylesheet.css" media="screen" /> <link type="text/css" rel="stylesheet"href="printstyle.css" media="print" />
第1行就是显示,第2行是打印,注意其中的media属性。但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。
10.CSS字体属性简写规则
一般用CSS设定字体属性是这样做的:
font-weight:bold;
font-style:italic;font-varient:small-caps;font-size:1em;line-height:1.5em;font-family:verdana,sans-serif;但也可以把它们全部写到一行上去:font: bold italic small-caps 1em/1.5em verdana,sans-serif;这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。
css高级技巧;
1. 黑白图像
这段代码会让你的彩色照片显示黑白照片。img.desaturate {
filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%);}2. 对纯 CSS 滑块使用 max-height
使用 max-height 和溢出隐藏来实现只有CSS的滑块:.slider ul {
max-height: 0; overlow: hidden;}.slider:hover ul {
max-height: 1000px; transition: .3s ease;}3. 页面顶部阴影
简单的 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;
4. 使用负的 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;}5. 所有一切都垂直居中
要将所有元素垂直居中,太简单了:html, body {
height: 100%; margin: 0;}body {
-webkit-align-items: center; -ms-flex-align: center; align-items: center; display: -webkit-flex; display: flex;}注意:在IE11中要小心flexbox。
6. 逗号分隔的列表
让HTML列表项看上去像一个真正的,用逗号分隔的列表:ul > li:not(:last-child)::after {
content: ",";}对最后一个列表项使用 :not() 伪类。
7. 对图标使用 SVG我们没有理由不对图标使用SVG:.logo {
background: url("logo.svg");}1239. 优化显示文本有时,字体并不能在所有设备上都达到最佳的显示,所以可以让设备浏览器来帮助你:html {
-moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}注:请负责任地使用 optimizeLegibility。此外,IE /Edge没有 text-rendering 支持。
8. 给 body 添加行高
你不需要分别添加 line-height 到每个p,h标记等。只要添加到 body 即可:body {
line-height: 1;这样文本元素就可以很容易地从 body 继承。
9. 使用 :not() 在菜单上应用/取消应用边框
首先 给每一个菜单项添加边框:/* add border */
.nav li { border-right: 1px solid #666;}再除去最后一个元素
// remove border /
.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;
}相关阅读
-
win10怎么快速关闭屏幕?win10快速关闭屏幕方法
估计很多用 Win10 的人都会想要快速锁屏来保护个人隐私,但是也有人不知道怎么快速关掉屏幕。其实很简单,你可以直接按 Win + L 快捷键,或者右键点击桌面上的空白地方,然后选择快捷方式就可以啦。下面我们就来详细说一下 Win10 快速
-
苹果iOS 17.4 Beta版开放侧载功能,但iPad不在列
1月27日消息,苹果公司近日针对欧盟《数字市场法》作出了响应,上线了iOS 17.4 Beta版,向欧盟用户开放了侧载功能。然而,尽管iPadOS与iOS在本质上并无太大差异,但iPad并不支持侧载功能。这意味着,安装第三方应用商店以及从第
-
极氪20万台新能源汽车里程碑达成
1月8日消息,国内新能源汽车市场再传捷报。极氪汽车今日欣喜公布,经过26个月的不懈努力,其累计交付汽车数量已突破20万台大关。这一成就不仅彰显了极氪在新能源领域的强劲实力,更使其持续刷新着新势力品牌的最快交付纪录,同时保持着全球唯一的新能源
-
Win11系统intel核显控制面板怎么打开-打开intel核显控制面板的方法
你晓得吗?有些小伙伴想开自己电脑的intel核显控制面板来看显卡驱动信息。里面可以检查更新驱动。但是,他们不知道怎么开这个面板。如果也想试试看的话,可以看看下面的操作方法哦!打开intel核显控制面板的方法1. 右键桌面空白处,就能打开英特
-
Windows10玩GTA5闪退怎么解决?Windows10玩GTA5闪退解决方法
Windows10玩GTA5闪退怎么解决?GTA5是一款非常知名的游戏,很多的玩家都在畅玩,但是很多的用户们在玩耍这一款游戏的时候,遇到了自己电脑玩GTA5会闪退,这个问题我们怎么解决呢?下面小编为大家带来详细的解决方法介绍,快来看看吧!
-
极氪第二款MPV车型“CM2E”谍照曝光,或于2024年上半年亮相
1月17日消息,近日,知名汽车博主@SugarDesign在社交媒体上发布了极氪品牌旗下第二款MPV车型——内部代号“CM2E”的谍照。据推测,新车可能为小型MPV,有望于2024年上半年与大家正式见面。 从曝光的谍照中可以看出,极氪CM