沧海依粟 @ 2010-04-23 21:59:00 | 类归于: CSS |
0 条评论 | 113次阅读
今天又遇到了一个很纠结的问题. 在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 就好了.
永久链接:http://www.GreatSu.cn/?p=406
沧海依粟 @ 2010-04-17 20:16:35 | 类归于: CSS |
0 条评论 | 193次阅读
呵呵, 不知道现在纠结这个问题会不会太晚了.
如果我们想把某个元素固定在屏幕的某个位置, 我们首先想到的肯定是将该元素的 position 属性设置为 fixed, 然后再设置 top, left 等关于坐标的属性. 在 IE6 以上及其它对标准支持比较完美的浏览器上, 这样做就已经能完美达到我们的要求了, 但是 IE6 却不鸟这个值, 咋办? 网上有很多解决办法. 如使用 js 动态的调整位置, 也可以使用 IE 特有的 expression 属性(传说IE8已经不支持鸟).
使用 js 很容易解决此问题, 但是麻烦(其实也不麻烦, 主要还是我懒); 使用 expression 麻烦倒不是很麻烦, 但是有严重的性能问题. 要是只需要使用 CSS 就能解决该问题, 那就完美了. 方法总是有的: http://dancewithnet.com/2007/04/19/cross-brower-css-fixed-position/给了我们趋于完美的解决方案. 代码如下:
点击这里阅读全文…
永久链接:http://www.GreatSu.cn/?p=400
沧海依粟 @ 2010-03-28 0:32:36 | 类归于: Javascript |
0 条评论 | 89次阅读
在某些时候, 我们需要使用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 属性设置值:)
永久链接:http://www.GreatSu.cn/?p=396
沧海依粟 @ 2010-02-12 0:17:09 | 类归于: Windows, 软件应用 |
0 条评论 | 165次阅读
废话不讲, 直入正题. 有两种方法:
第一种方法
1. 将下载完成的 Windows 7 ISO 文件复制到 U 盘中
2. 启动命令提示符, 输入 x:\boot\bootsect.exe /nt 60 x:
1) 其中 x 为U盘所以的盘符
2) 如果有开启UAC模式, 请用 开始->所有程序->附件, 右击 “命令提示符”选择以管理员方式运行.
3. 完成.
第二种方法
使用微软提供的傻瓜式 Windows 7 启动盘制作工具:Windows 7 USB/DVD Download tool. 该工具即可以制作U盘启动盘, 也可以制作光盘启动盘.
永久链接:http://www.GreatSu.cn/?p=386
沧海依粟 @ 2009-12-07 15:51:23 | 类归于: Windows |
1 条评论 | 608次阅读
首先恭喜你, 你和我遇到了同样的错误.
出现该错误的原因是因为执行权限不够. 从 Vista 起, Windows 引入了 UAC, 这样, 我们在开始菜单的运行中输入的命令都是以普通用户方式运行.
解决方法: 开始 –> 所有程序 –> 附件, 在”命令提示符”上点击右键, 选择”以管理员身份运行”, 然后重新输入命令注册.
Good Luck.
永久链接:http://www.GreatSu.cn/?p=347
沧海依粟 @ 2009-12-01 23:39:35 | 类归于: Flex |
0 条评论 | 186次阅读
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="yField" itemRenderer="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.
永久链接:http://www.GreatSu.cn/?p=265
沧海依粟 @ 2009-07-24 23:25:24 | 类归于: Javascript |
2 条评论 | 1,734次阅读
前不久ExtJS发布了 3.0 版,由于在使用 V2.2 的过程中遇到了不少问题,就试着升级一下,希望有惊喜.果然,2.2中遇到一些问题基本上都没有,但却也产生了很多新问题.
点击这里阅读全文…
永久链接:http://www.GreatSu.cn/?p=202
沧海依粟 @ 2009-03-29 1:38:57 | 类归于: SQL Server |
0 条评论 | 513次阅读
从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
永久链接:http://www.GreatSu.cn/?p=154
沧海依粟 @ 2009-03-29 1:25:50 | 类归于: ADO.Net |
0 条评论 | 463次阅读
前不久在使用SqlDataReader读取记录,读取一半的时候调用SqlDataReader.Close()来关闭读取.结果老是提示操作超时.百思不得其解,如果Open的时候超时还可以理解,Close的时候,关闭不就完了吗?为什么也会超时.
仔细翻阅了MSDN对Close方法的说明.获得如下信息.
Close 方法填写输出参数的值、返回值和 RecordsAffected,从而增加了关闭用于处理大型或复杂查询的 SqlDataReader 所用的时间。如果返回值和查询影响的记录的数量不重要,则可以在调用 Close 方法前调用关联的 SqlCommand 对象的 Cancel 方法,从而减少关闭 SqlDataReader 所需的时间。
原来SqlDataReader为了计算RecordsAffected值,在Close的时候会继续读取剩余的记录.刚好我的数据量又非常大,那在Close的超时时间内读那么多的数据当然会超时了.按照上面所说,如果我要放弃读取后面的记录,我应该先调用SqlCommand的Cancel方法.
其实这样让人感觉怪怪的.按照一般人的理解,DataReader应该是读多少记录,取多少条记录.都要Close了,那一般情况下应该是放弃后面的记录才是.没想到还是会读完.这应该可以算是一个SqlDataReader的陷井了吧.
后面想想,如果不是这次测试的记录内容比较大,条数比较多,如果不是这次的超时异常,那像我这样的粗心程序员可能就发现不了这个问题了.看来以后还是要细读MSDN.
永久链接:http://www.GreatSu.cn/?p=153
沧海依粟 @ 2008-09-07 2:43:39 | 类归于: Visual Studio |
0 条评论 | 533次阅读
看了很多视频和资料,他们在创建 LINQ toSQL 时,从”服务器资源管理器”中拖过来的表,都会自动进行单复数转换.但我的VS却死都不会.
郁闷了一下,差点就认为是RP问题了.
原来,"复数形式仅在 Visual Studio 的英语版本中启用".我用得刚好是中文版.
解决办法:
1. 在"工具"菜单上单击"选项"
2. 在"选项"对话框中展开"数据库工具"
3. 单击"O/R 设计器"
4. 将"名称的复数形式"设置为"启用"="True"
永久链接:http://www.GreatSu.cn/?p=95