IE7下莫名其妙的滚动条

今天又遇到了一个很纠结的问题. 在IE7下, 页面莫名其妙的多了个横向滚动条. 使用开发工具查看是否被哪个该死的元素撑开了, 没有发现异常. 于是只能注释html代码, 定位到引起问题元素, 该元素的样式如下:

.style {

    position: absolute;
    right: 10px;

    bottom: 0px;
    color: #666666;
    font-size: 13px;
    font-style: italic;
}

继续跟进, 在禁用 right 后, 滚动条消失. 想不通 right 属性会对布局产生啥影响, 于是 google 之, 找到这篇文章:http://www.brunildo.org/test/ie7_hscroll.html. 原来又是一个IE7美妙的Bug.

在IE7下, 如果一个没有设置宽度的元素被设置成居右(如设置 right, float:right, text-align:right等属性), 那当它的子元素的位置超出父元素的范围后, IE7就会出现奇怪的横向滚动条.注意, 这里是超过, 而并不将父元素撑开. 如设置属性:margin-left: –1px, 或者像我那样, 将font-style设置成了 italic.

解决办法, 给居右的元素加上 overflow: auto 就好了.

现在还没有评论,去坐沙发?

解决IE6下"position:fixed"(固定位置)的问题

呵呵, 不知道现在纠结这个问题会不会太晚了.

如果我们想把某个元素固定在屏幕的某个位置, 我们首先想到的肯定是将该元素的 position 属性设置为 fixed, 然后再设置 top, left 等关于坐标的属性. 在 IE6 以上及其它对标准支持比较完美的浏览器上, 这样做就已经能完美达到我们的要求了, 但是 IE6 却不鸟这个值, 咋办? 网上有很多解决办法. 如使用 js 动态的调整位置, 也可以使用 IE 特有的 expression 属性(传说IE8已经不支持鸟).

使用 js 很容易解决此问题, 但是麻烦(其实也不麻烦, 主要还是我懒); 使用 expression 麻烦倒不是很麻烦, 但是有严重的性能问题. 要是只需要使用 CSS 就能解决该问题, 那就完美了. 方法总是有的: http://dancewithnet.com/2007/04/19/cross-brower-css-fixed-position/给了我们趋于完美的解决方案. 代码如下:

点击这里阅读全文…

现在还没有评论,去坐沙发?

使用Javascript设置元素的透明度

在某些时候, 我们需要使用Javascript来控制页面无素的透明度, 来实现渐进渐出的效果. FF, chrome 等实现这种效果很简单, 直接设置元素 style 的 opacity 属性就好了. 而IE 系的浏览器就杯具了, 得实用 filter 来实现.

var opacity = 0; // opacity 的值为 [0, 100]

element.style.filter = ‘alpha(opacity=’ + opacity + ‘)’;

本来以为这样就好了, 而且, 在IE8 下, 这样也确实好了. 可是IE6, IE7 确一点感觉都没有. 要使这东东在 IE6, IE7 下也跑得欢, 还得多设置

element.style.zoom = 1;

完成就是这样了:

element.style.zoom = 1;

var opacity = 0; // opacity 的值为 [0, 100]

element.style.filter = ‘alpha(opacity=’ + opacity + ‘)’;

如果你在 IE 下使用 Javascript 为元素设置透明度时遇到无法生效的问题, 不妨检查一下, 是否有为 style 的 zoom 属性设置值:)

现在还没有评论,去坐沙发?

How to display data points in Flex linechart

Flex linechart is a very useful chart control, but the default behavior is not perfection. when we using it, we have to hover over parts of the line to see the data points, is there a way to change the rendering of each point and have them always displayed? The answer is YES, it is easy, do like this:

<mx:LineSeries yField="yFielditemRenderer="mx.charts.renderers.CircleItemRenderer">
    <mx:lineStroke>
        <mx:Stroke color="#A5BC4E" weight="2" alpha="0.6" />
    </mx:lineStroke>
    <mx:stroke>
        <mx:Stroke color="#A5BC4E" weight="1" />
    </mx:stroke>

</mx:LineSeries>

I think you are using <mx:LineSeries>, too. You can set the itemRenderer property(like the blue code) to display the data points, and the red code is for the data point’s style, like color, weight and so on.

现在还没有评论,去坐沙发?

从ExtJS 2.2升级到3.0

前不久ExtJS发布了 3.0 版,由于在使用 V2.2 的过程中遇到了不少问题,就试着升级一下,希望有惊喜.果然,2.2中遇到一些问题基本上都没有,但却也产生了很多新问题.

点击这里阅读全文…

哇,已经有2条评论了,去看看评论?

如何在没有排序列时使用SQL Server的ROW_NUMBER函数

从SQL Server 2005开始,SQL Server就为我们提供了ROW_NUMBER函数.这个函数的出现使得我们在分页的时候有了新的选择.但是ROW_NUMBER函数需要和OVER一起用,而OVER里面得设置一个排序条件(ORDER BY 啥啥啥的).如果我们正好有排序条件(大多数情况),那塞给他一个也还行.那如果我们想按原始顺序排列,没有排序列咋办?

嗯.有需求就会有办法.如下:

WITH [TempTable] AS
(SELECT *, ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS [RowNumber] FROM [TableName])
SELECT TOP 10 * FROM [TempTable] WHERE [RowNumber] BETWEEN 1 AND 10

现在还没有评论,去坐沙发?

调用SqlDataReader.Close方法的一个小陷井

前不久在使用SqlDataReader读取记录,读取一半的时候调用SqlDataReader.Close()来关闭读取.结果老是提示操作超时.百思不得其解,如果Open的时候超时还可以理解,Close的时候,关闭不就完了吗?为什么也会超时.

仔细翻阅了MSDN对Close方法的说明.获得如下信息.

Close 方法填写输出参数的值、返回值和 RecordsAffected,从而增加了关闭用于处理大型或复杂查询的 SqlDataReader 所用的时间。如果返回值和查询影响的记录的数量不重要,则可以在调用 Close 方法前调用关联的 SqlCommand 对象的 Cancel 方法,从而减少关闭 SqlDataReader 所需的时间。

原来SqlDataReader为了计算RecordsAffected值,在Close的时候会继续读取剩余的记录.刚好我的数据量又非常大,那在Close的超时时间内读那么多的数据当然会超时了.按照上面所说,如果我要放弃读取后面的记录,我应该先调用SqlCommand的Cancel方法.

其实这样让人感觉怪怪的.按照一般人的理解,DataReader应该是读多少记录,取多少条记录.都要Close了,那一般情况下应该是放弃后面的记录才是.没想到还是会读完.这应该可以算是一个SqlDataReader的陷井了吧.

后面想想,如果不是这次测试的记录内容比较大,条数比较多,如果不是这次的超时异常,那像我这样的粗心程序员可能就发现不了这个问题了.看来以后还是要细读MSDN.

现在还没有评论,去坐沙发?

纯属娱乐:Ubuntu下编译Linux内核

操作系统环境:
Ubuntu8.04 Server Edit @ VMWare
本实验使用的Linux内核源码版本:2.6.26.1,如使用其它版本请自行替换。

点击这里阅读全文…

哇,已经有5条评论了,去看看评论?

asp.net2.0神奇的404错误

情况:将asp.net2.0程序部署到windows server 2003服务器上,在IIS中设置一切正顺利,且正确.但浏览网站的时候,却出现404错误,而文件却明明正确存在.

解决办法:下载.Net Framework 2.0安装包,重新安装.Net Framework 2.0.

原因猜想:服务器的.Net Framework 2.0是在安装Sql Server 2005的时候装上去的,猜想是不是安装Sql Server 2005时安装的.Net Framework 2.0有点小问题.

现在还没有评论,去坐沙发?

VS2008创建Silverlight项目出错的解决办法

今天被武跃搞得一时兴起,打算去体验一下 Silverlight 这个鬼东西.

安装 SilverlightTools_Alpha 的过程还真坎坷.装好后老是创建项目失败.出现:

The project file ‘…..’ cannot be opened.
The project type is not supported by this installation.

点击这里阅读全文…

现在还没有评论,去坐沙发?

第1页 共2页12下一页»