css 里面引用路径看上去是对的:background: url(../image/nav_on.gif);
直接在 css 文件里面写:body{background: url(../image/nav_on.gif);}
写好保存 css 后刷新网页,如果 index.html 和文件夹里面那个 php 页面看背景是不是会出现在整个网页上,没有的话说明你代码或引用css文件的方法有错误。
如果整个页面都出现了背景图的话,最大可能就是你的a没足够的宽度高度,背景实际上是引用正确了的,因为宽高不够,没显示出来,请把你的 #choice 设为块级元素并给足够的宽高值,即:
#choice{
display: block;
width: xxx;
height: xxx;
}
a链接默认是行内元素,行内元素大小是由它里面包含的:文字、图片、多媒体及其他html元素的大小决定的。
行内元素里面包含的大小有多大,就只会把行内元素撑开成多大,比如:123
上面这个 a 链接里面只有 123 三个字符(假设字号是12px,行高是默认),那 a 的实际大小就只是比三个字占的面积略大一点,大概高15px、宽40px左右,你css里面设置宽度300px,高度300px,这个 a 是不会变大的,当你 display: block; 把 a 这个东西改成块级元素了,就会变成你设置的 300px 宽高。
还有个,经常有才学的人弄个浅色背景图,网页或a:hover后又是浅色背景色,那种不是没出来,而是视觉上看不出来。
你的路径是没有问题的,路径正确下出现背景不显示一般有两种可能:
1、标签是线性元素,比如a,span等,你可以给a标签的样式加上一个 display:inline-block;试试看。(注意,不能被其它设定的样式覆盖了)
2、浏览器缓存问题,你可以以在图片的地址后面加上一个 ?t=xxxxx
#choice a:hover{
color: white;
display:inline-block; /*如果你的A标签另外定义了display:block;就不用再定义了*/
background: url(../image/nav_on.gif?t=xxx); /*背景图片在image下*/
}