`
DBear
  • 浏览: 228607 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类

阶段性总结。。。

 
阅读更多

自己的空间,不说废话了。。。

 

1. 通过配置apache服务器的httpd-vhosts.conf文件完成不同域名之间、一级域名到二级域名的跳转,参见:

http://blog.sina.com.cn/s/blog_5cdc071b0100c4ij.html

 

2. 通过修改ci(codeigniter)的routes.php文件实现url的RESTful化,如,将 xxx.yyy.com/brands/detail?id=1111  修改成 xxx.yyy.com/brands/1111

 

3. input file在各个浏览器下的不同表现,推荐文章:
http://liunian.info/input-file-in-different-browsers.html

 

4. 几个提升网页性能的方法以及几种浏览器兼容的css处理方式

    a. 尽量不使用整图做网页背景,善用background的repeat属性,从而提高页面资源加载和渲染的速度

    b. IE下兼容png24格式的图片尽量不使用filter,有如下几个问题:

  • 降低网页性能
  • 无法直接使用background-position定位
  • 无法使用定位属性的直接结果是对于图标素材无法使用css sprite,只能一张一张的放
  • 上述两条缺陷都可以通过js或其他一些窍门方法解决,但是方法相对复杂。
       因此,个人偏向的解决方式是针对IE6-7专门使用gif做背景,而对于某些图片出现锯齿的情况,可以通过在ps里将杂色背景置为与背景颜色相同来近似的解决。或者万用法——放弃IE6。

    c. 通过条件标签来为IE下的网页增加专门的class标识,针对该标识在CSS做独立的处理,防止各种hack代码混杂在一起时造成的阅读困难。

 

<!--[if lt IE 7]>
<body class="IE">
<![endif]--> 
<!--[if !IE]> 
<body>
<![endif]-->

    d. 善用zoom:1, overflow:hidden 来触发IE的layout,解决float属性的一些兼容问题

    e. IE6对于多重属性的css是不支持的,比如 .class1.class2,最后IE只会理解成.class2,因此为兼容IE6,尽量不要使用多重属性,而是改用 .class1-class2 这种单一的class定义。或者万用法——放弃IE6。

    f.  IE下如果不对checkbox做width和height的定义,则浏览器会自动为checkbox加一个2px左右的margin,导致当label有多行时,无法很好的控制checkbox与label的文字的对齐。hack方式是为checkbox定义宽高,大小与label的字体相同(也不是严格如此,需要调试)

 

    g. 等高自适应纯css实现,参见如下代码

 

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<base href="pointEditor" />

<title>table</title>
<link type="text/css" rel="stylesheet" href="pointEditor/assets/css/base.css?v=1316326733">
<link type="text/css" rel="stylesheet" href="pointEditor/assets/css/image_post.css?v=1316326733">
<style>
    body { margin:0;}
	.talignC{
	   text-align: center;
	}
	.outter {	
		margin: 0 auto;
		overflow:hidden;
                position: relative;		
	}
	.leftCol {
	    float: left;
		width: 300px;
		background: #c3c3c3;
	}
	
	.rightCol {
	        overflow: hidden;
	 	zoom: 1;
		background: #f2f2f2;
    }
	
	.leftCol, .rightCol {
            margin-bottom:-10000px; padding-bottom:10000px;
	}

</style>
</head>
<body>
<div class="header">
<h1>等高两列,高度自适应,左列宽度自适应</h1>
</div>
<div class="outter">
    <div class="leftCol">我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高我高
	</div>
	<div class="rightCol"></div>	
</div>
</body>

</html>
 

 

 

5.  sql那点事儿

    a. 取一张表里的多个字段,但是某一个字段要不重复,用如下sql语句:

 

 

      select *, count(distinct b.id) from b group by b.id

 

    b. 取一张表里某几个字段不重复的记录,并按照某列排序。习惯的写法是

 

 

select distinct XX, YY from B where 1=1 order by CCC desc

 

    但这种写法并无法得到预期结果,因为它会先按照默认顺序把重复的记录删掉,然后对筛选后的结果做order by。而我们要求的恰恰相反:希望先order by, 再筛选。因此应该写成:

 

 

select distinct XXX, YYY  from (
    select  XXX, YYY
      from  B
   where 1=1
order by CCC desc);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics