CSS如何实现列表栏制作,鼠标经过变色

html-css013

CSS如何实现列表栏制作,鼠标经过变色,第1张

实现标题栏鼠标滑过点击过后保持原色,不用像你那样写得这么复杂,按照你说的,只需要写一次样式就够了,写法如下: #dh ul li a { display:blockbackground:#006eadwidth:125pxheight:43px} 现在我无论是在默认状态下、鼠标移上去时、鼠标点击时,或是点击过后,a标签背景颜色都会保持在初始状态,不会改变。 如果需要鼠标移上去时,背景变色,那就加多一条a:hover,写法如下: #dh ul li a:hover{ display:blockbackground:#0193dewidth:125pxheight:43px} 现在就只有鼠标移上去时背景会变色,其他情况颜色都不会变化。 提示:如果需要文字一直保持原色,只需要在第一条#dh ul li a 的代码里加上一条“color:颜色属性”即可。例如:#dh ul li a {background:#006eadcolor:#fff} 试一试吧!

这就出现一个问题,如果图片过小,或文字过长,就会出现文字把整个表格撑得很大,即占用了很多空间,显示效果也非常不美观。

网上也有许多解决办法,但要么复杂,要么不能解决跨浏览器问题,要么不能自适应图片大小变化。

在我的这个方法中,解决了: 不需要在代码中指定图片大小、跨浏览器、非常简单。最后的效果如下图所示,当文字过长时,它会自动换行以适应图片宽度:

方法如下:

1)图片及图片说明代码如下:

<table

class="mod_img"

width="10"

align="left"

border="0"

cellpadding="0"

cellspacing="0"><tbody><tr><td

align="center"><a

title="点击查看原图"

href="/upload/20090214135145954.png"

target="_blank"><img

src="http://files.jb51.net/upload/20090214135147104.png"

vspace="0"

border="0"

hspace="0"></a></td></tr><tr><td

align="center"><div

class="mod_img_desc">香港殖民地最后的一面旗帜,由英国蓝旗和代表香港的殖民地徽所组成,1959年-1997年</div></td></tr></tbody></table>2)"mod_img"

的定义如下,它指定了表格及图片边框的CSS样式:

.mod_img

{margin:6px

border:1px

solid

#AAAAAA

padding:

3px

}

.mod_img

img{margin:3px

border:1px

solid

#AAAAAA

padding:0px

}

3)"mod_img_desc"

的定义如下,它指定了说明文本的CSS样式:

.mod_img_desc

{font-size:12pxword-break:break-allwidth:100%

overflow:auto}

这里的关键是上边的

width="10"

这处,这是文本自适应图片宽度的关键,实际上10是个很小的值,一般图片都大于这个值,并且在表格中显示一个图片时,图片会按自己的实际大小把这个表格撑开,因此这个

width

并不会影响图片的显示,而在

3)处指定了文本的

width

为100%,就是说文字按照实际的宽度显示,而不管该宽度是多少,当文字超过宽度时,自动换行。

经过测试,该方法在

IE/Firefox/Safari/Opera等浏览器中均能完美正常工作!祝你愉快。

图片层使用float:left就行了

<div style="width:600pxpadding:5px">

<div style="float:leftmargin-right:10px"><img src="图片" /></div>

<p>文字</p>

</div>