标签 [ css ] 下的文章

JS判断移动端访问设备并解析对应CSS

为了解决如题需求而临时拼凑的样式解析方案
直接看Mobile_demo

方案中有体现不同移动设备样式解析方案(部分代码直接copy腾讯网的)

<script type="text/javascript"> 
// 判断是否为移动端运行环境
// wukong.name 20130716
if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){
	if(window.location.href.indexOf("?mobile")<0){
		try{
			if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){
				// 判断访问环境是 Android|webOS|iPhone|iPod|BlackBerry 则加载以下样式
				setActiveStyleSheet("style_mobile_a.css");
			}
			else if(/iPad/i.test(navigator.userAgent)){
				// 判断访问环境是 iPad 则加载以下样式
				setActiveStyleSheet("style_mobile_iPad.css");
			}
			else{
				// 判断访问环境是 其他移动设备 则加载以下样式
				setActiveStyleSheet("style_mobile_other.css");
			}
		}
		catch(e){}
	}
}
else{
// 如果以上都不是,则加载以下样式
setActiveStyleSheet("style_mobile_no.css");
}
// 判断完毕后加载样式
function setActiveStyleSheet(filename){document.write("<link href="+filename+" rel=stylesheet>");}
</script><link href="style_mobile_no.css" rel="stylesheet">


两段兼容的控制图片宽度/高度的CSS代码

简单是max-width:就可完成图片最大宽度得限制,但是由于ie6不支持max-width只能通过expression来实现。
下面两段代码效果是一样的,我用的没问题,具体特色大家自行测试。第三段对高度同时做了限制。

代码如下:

img {max-width:400px; scale:expression((this.offsetWidth > this.offsetHeight)?(this.style.width = this.offsetWidth >= 400 ? "400px" : "auto"):"auto"); display:inline !important;}
.img{ 
max-width: 200px; 
height:auto; 
width:expression(this.width > 200 ? "200px" : this.width); 
}


第三段对高度同时做了限制。

.img{
max-width:201px; 
max-height:136px;
width:expression(this.width > 201 && this.width > this.height ? '201' : auto);
height: expression(this.height > 136 ? '136' : auto);
}


CSS实现鼠标滑过图片出现半透明效果

由于个人的一些需要,想通过CSS的方式来实现鼠标滑过图片出现半透明的效果,用JavaScript来实现是比较简单的,但是这里只分享如何用CSS来实现。
CSS中有个opacity属性,可以针对透明来设置,但是它只是对FireFox、Chrome等非IE内核下好用,在IE下并不是很好用。但是CSS下还有一个不常用的属性叫做滤镜filter,这个在IE下就好用。将opacity和filter属性结合一下,就可以实现鼠标滑过出现半透明效果了。

那么对应的CSS的写法如下:

.item1 a:hover img {

opacity:0.7;
filter:alpha(opacity=70);

FF下CSS自动撑高的代码(非min-height哦)

很多时候,我们设置height为aoto是不起作用的,原因是div里的框架撑不起外部的div,今天在帮bo-blog修改皮肤的时候遇到了为mainWrapper加了边线,但FF下一直无法显示,原因就是mainWrapper无法被内部的内容撑起来,给其定义高度自然可以显示,但高度我应该定义多少呢,没办法定义。困扰了两天,刚整理了一段代码,大家根据自己的情况拿去用吧,里面有多余代码精简起来也不费神,我说了,根据自己的情况拿去用。

.clearfix:after{display:block; content:"."; visibility:hidden; font-size:0; height:0; clear:both; line-height:0;}
.clearfix{height:1%;zoom:1;}

More »

你知道HTML标签设计的本意吗?把HTML标签用到该用的地方去

“DIV+CSS”这个词汇不知道害了多少人,也许其提出者本意并没有错,但是跟风者从表现曲解了其意思,认为整个页面就应当是DIV+CSS文件的组合。这样做,对于视觉上并没有什么影响,因为还原了之前设计的页面效果图,但如果这种HTML文档交给机器(例如蜘蛛)去分析,它可能根本找不到重点,你整个页面对它来说,就如同一个白蚁窝,它第一件要做的事情可能就是把这些相同的东西给去掉,然后再做内容的筛选。

More »

CSS常用浏览器兼容调整小结

页面乱的原因是因为IE6认为一个DIV超宽了,所以把本应float;right的DIV挤了下去。而如果设置为IE6下显示正常的宽度,则在IE7和Firefox下看页面就会少了一块一样,也很别扭….
怎么办?用CSS HACK 来改写CSS代码

More »

最新文章

最近回复

链接