当前位置:主页 > 平面设计

最新发布

IE 下 href 的 BUG
IE 下 href 的 BUG

在浏览器 IE6 、IE7、Firefox2+、Firefpx3+、Opera9.6+、Safari3.1+中测试以下代码(Demo):<div id="test">    <a href="#"> test </a></div><div id="result"></div><script type="text/javascript">(function(){    var test = document.getElementById('test');    alert(test.innerHTML);    var result =  document.getElementById('result');    result.innerHTML = test.innerHTML;    alert(result.innerHTML)})();</script>结果会发现,在 IE6、IE7 浏览器中第二次弹出的 result.innerHTML 中的 A 元素的 href 值成为了绝对路径。其实先人们早遇到这些问题(感谢 玉伯 提供的资料):在上面的文章中已提及了处理方案,就是在 IE 下使用 getAttribute( ‘href’ , 2 ) 方法。 Microsoft 给此方法扩展了第二个参数,可设置为 0、1、2,如果设置为 2 ,则返回属性原始值。脚本修正为:(function(){    var test = document.getElementById('test');    alert(test.innerHTML);    var result =  document.getElementById('result');    result.innerHTML = test.innerHTML;    if(/*@cc_on!@*/0 ) { //if ie        var links1 = test.getElementsByTagName('a');        var links2 = result.getElementsByTagName('a');        for(var i = 0, len = links1.length; i < len; ++i ) {            links2[i].href = links1[i].getAttribute('href', 2);        }    }    alert(result.innerHTML);})();在寻找此问题的过程中还搜索到 Hedger Wang 发现的一个有趣的 BUG 问题:在 IE 中当重新设置新的 href 属性值时,如果链接文字含有 “http://” 或 “@” ,则其 innerHTML 将显示不正确,显示成设置的 href 属性。解决方法(sHref 为要设置的 href 新值):sHref = 'http://www.hedgerwow.com';var isMSIE = /*@cc_on!@*/false;if( isMSIE ){    sHref = ' ' + sHref; //add extra space before the new href};

4 次浏览
HTML:大厦的基石
HTML:大厦的基石

在许多人看来,HTML应该是WEB制作所有语言中最简单的语言,因为它不需要编译、封闭等,甚至只需要一个记事本就可以让其在浏览器中呈现出来。所以我们也看到很多人都在说HTML很简单超简单之类的话,网上也有很多诸如“花个两三天学习下HTML就可以制作网页”之类的理论。在这些人看来,学HTML就像是学英文字母ABC一般简单。正是这样的理论这样的思想,导致学习HTML的人都不把它当回事,认为HTML仅仅只是诸如“加粗用<B />标签,斜体用<I />标签”之类的应用。这样的思想尤其是在初学者当中流传,而一旦真正深入的了解学习HTML之后,才会发现HTML远非想像中的那么简单。而随着WEB标准大潮的席卷互联网,更多的人索性就差不多抛弃HTML众多标签般的只用DIV,似乎DIV+CSS就是WEB标准的核心。这个错误的理论与HTML超简单的理论被绑在了一起,在互联网中传播着。思想改变行动,最终造成了WEB标准在国内互联网推行的困难重重。真正的WEB标准应该是推崇以更合适的语义标签来制作网页结构,完全不是在整个页面写满DIV就是符合WEB标准。与此相同的道理是,HTML远远不是你所想像中的那么简单。一个网站在浏览器中呈现效果的好坏,视觉因素占一半的比重,而另一半的比重就在于网页的结构上。我们可以在网上看到很多整个页面都是由DIV架构的网页,这些DIV结构的页面在配合上CSS时,整个页面在浏览器中呈现的也许很正常,并看不出什么问题。可是如果用户禁用掉CSS之后呢?浏览器还能否正确的理解网页结构并呈现出来,就成了判断这个网页结构好坏的很重要的一个标准。而对于这些完全由DIV结构组成的页面,很显然的,在CSS被禁用之后,浏览器就很难呈现出一个结构清晰明了的页面来,而用户自然也很难从结构上去判断哪些内容是标题,哪些内容是真正的内容。而如果在页面中采用了更符合语义的HTML标签的话,即使CSS样式在被禁用之后,浏览器依然可以根据<h />标签来显示成标题,根据<p />标签来显示成段落,最终仍然可以为用户呈现出结构清晰明了的页面。如果把网站建设比喻成是建造一栋大厦,那么HTML无疑就是这栋大厦的基石,如果基石不够坚稳的话,那么这栋大厦就很有可能会面临倾倒的危险。从深层次理解并学习HTML的标签语义,从思想上重视HTML,别忘了,整个网站都是基于HTML结构来呈现的。

9 次浏览
HTML:WEB标准的误解
HTML:WEB标准的误解

在HTML4 Elements*计有91个标签,然而在这么多的标签中经常被使用到的标签不到四分之一,在这些常用的标签中有两个标签是属于最通用型的——div、span,这两个结构性的标签因为本身不带呈现样式及语义而被广泛的用于网页制作中,再加上之前很多人直接把WEB标准误解为就是div+css,于是在一个页面里出现了特多的div或者是span标签,尽管这些地方本身有更符合语义的标签来实现。Table式的页面布局因为其本身的简便以及有Dreamweaver这样的可视化操作的Web制作软件的存在,从而引领了Web制作的一个时代,也正是因此而导致了过多的Web设计人员从来没有真正关注过HTML标签的真正语义,当Web标准开始兴起的时候,于是就直接被理解成是div+css的布局。于是Web标准中的结构标签几乎变成了div的秀场。div标签的过度使用,已经导致了很多人对于Web标准的误解,最明显的一点就是,当网页切换到使用div标签布局后,table标签便被无情的抛弃,俨然Web标准已经被理解成就是div+css。而事实上,table标签是不能被抛弃的,当需要显示数据内容时,由table标签构建的HTML结构的优势要强于div标签构建的布局,table标签仍然是显示数据时最符合HTML语义的标签。Table页面布局所生成的过多的冗长代码,以及混杂其中的HTML样式属性,已经严重影响到页面的性能,尤其是对于大访问量的网站,解决的方法即是对页面进行基于Web标准的重构。然而对Web标准的误解,造成页面整体结构上div被过多的使用;以及Table布局所遗留下来的思想,造成页面上的结构嵌套过多。这些仍然影响着页面的整体性能。所以,以更符合语义化的标签来构建页面,是Web标准推崇的理念。在这个理念下构建的页面还应该尽量的精简代码,使页面代码尽量的保持轻简,让浏览器更快速呈现的同时也便于日后的代码维护。Web标准并不是某一个单独的标准,而是一系列标准的集合,包括结构、表现、行为三部分。这里的结构并不是指div,而是指标准化的语言——XHTML、XML。明明<strong />标签可以实现粗体样式,为什么还要用<span />标签再搭配粗体样式去实现呢?

9 次浏览
HTML:WEB标准从头开始
HTML:WEB标准从头开始

在较早之前的网页上,我们经常可以看到如下的网页结构代码:<html><head><title>这是一个网页</title><meta name=”…” content=”…” />……</head><body>……</body>

4 次浏览
PSD网页模版转化XHTML的一些理论知识
PSD网页模版转化XHTML的一些理论知识

一.每个psd源图都有三种配色方案,要求按照同样规格分别切图,且三种配色切出的同一区域图片命名必需相同;二.按照配色方案建立三个以颜色命名的文件夹,每个文件夹里面放置“配色方案”制作成网页所需的资料;三.每种配色方案文件夹中包含的必需内容:images,css,headers,buttons文件夹和二个html文件以及两张大小网页效果图;所有命名按照样例进行,自定义内容可以自由命名。四.网页布局,所有网页都由以下几部分组成:页头(logo、headers)1级导航条(buttons)2级导航条(buttons)页面内容区( 内容区用于显示英文网页)页脚(底部菜单、copyright)根据psd文件决定制作的区域,源图中绘制出的区域必需制作出来,没有的区域(有些没有2级导航条,有些没有页脚)不需要用制作。五.第一个html文件制作要求:命名html.html整个页面要制作在一个表格之内。页头:可以把header制作成背景,或者有些header图片属于不规则图形也可以切成几部分来处理,要尽量减少切割次数。Logo区域单独制作在一个表格内(可以限定表格宽度);logo分为三部分logo图片、公司名称、公司标语;页面里公司名称需要输入40个大写W字符,公司标语也需要输入40个大写W字符;一级导航一级菜单(导航)中的内容必需制作在一个独立的表格内;不得设置单元格的宽度和高度;页面中必需制作六个一级菜单的项目,每个项目里面输入20个大写W字符(可以采用6个W加一个空格的方式输入);按钮图片需要制作出超连接的三种状态变化(根据psd图,有些可能只有两种状态);每一项里的图片和文字必需制作在一行里面可以使用br使他们产生分行显示效果。二级导航(竖导航)二级菜单(导航)中的内容必需制作在一个独立的表格内;不得设置表格的高度;按照样例制作;页面中必需制作10个二级菜单的项目,每个项目里面输入20个大写W字符(可以采用6个W加一个空格的方式输入);文字链接最少需要制作出超连接的二种状态变化。页面内容区输入足够多的英文字符使页面撑开达到(在1024×768的屏幕下使用的ie浏览器出现左右上下拉伸条)页脚版权信息区域输入40个大写W字符。为页面美观要于上下区域保留一定的距离。底部菜单二级菜单(导航)中的内容必需制作在一个独立的表格内;不得设置表格的高度;按照样例制作;页面中必需制作六个二级菜单的项目,每个项目里面输入20个大写 W字符(可以采用6个W加一个空格的方式输入);文字链接最少需要制作出超连接的二种状态变化;为页面美观要于上下区域保留一定的距离。六.第二个html文件制作要求:命名html2.htnl复制第一个html文件,删除里面的部分内容,保留三个一级导航、二个二级导航(竖导航)、三个底部菜单,每项里面出现6个字符;页面内容区保留两行英文字符(不撑开页面)七.在上述情况下两个页面要保持统一效果,背景可以实现循环;Header图片居中显示或者可以扩展(有些header区域可以制作背景)八.公司名称,公司标语,内容区页标题,与第一级和第二级的菜单字体如应该用标准的系统字体,例如:Tahoma或者 Arial,九.建立模板目录时,请在“工具”-〉“文件夹选项”-〉“察看” 里勾选“不缓存缩略图“的选项,这样模板zip 包内才不会包含多余的缓存文件.十.style.css 文件不能包含任何图片连接(实例: background-image: url(’../images/bg.gif’);),不能包含 html tags 的定义(例如css里面不应该对 进行定义如果要应用在上, 可以直接写在 html 的 标签里)十一.html 的 charset 编码必须为 utf-8十二.所有的(包括样式表和HTML)字体大小必须用Points(pt) 而不是像素(pixels), 最小大小为 8pt, 例如 font-size: 8pt.十三.模板内的元素(div 等)不能使用绝对定位,也不能包含JavaScript。十四.所有模板在浏览器IE, Mozilla, Opera效果相同十五.模板文件内的所有图片路径必须为相对路径。相对于”颜色“路径, 例如: blue 下的 images 下的文件,应该写为 < img src=images/xxxx.gif > 而不是 < img src=blue/images/xxxx.gif >十六.在特殊psd里有的无法容纳 40 个大小W字母的时候公司名和口号字体可以缩小, 但不能小于 8pt.十七.模板在高度上必须要填满整屏,对于没有内容的也一样(使内容部分能够垂直的延伸)十八.所有区域必需添加背景颜色(按照psd图进行)十九.不能出现空格符二十.所有属性值必须加在 “ ”里面。二十一.凡不成对出现的标签都要加 / 例如:应该写成< img src=****** >应该写成< img src=******/ >

4 次浏览
怎样解决DIV层被Flash动画遮盖问题?
怎样解决DIV层被Flash动画遮盖问题?

就成了,我加完后在IE下问题是解决了,但是FF下好像没有反应,后来才知道IE中和FF加的代码是不一样的,如下:   IE浏览器下可用   firefox下可用  关于wmode属性资料:  (可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。  "Window"在 Web 页上用影片自己的矩形窗口来播放应用程序。"Window"表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。  "Opaque" 使应用程序隐藏页面上位于它后面的所有内容。  "Transparent"使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。  "Opaque windowless"和"Transparent windowless"都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。这两种选项之间的差异在于"Transparent"允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而"opaque"则不会显示。

3 次浏览
24个漂亮的个性化HTML表单技术
24个漂亮的个性化HTML表单技术

  Checkbox 与 Radio Buttons 相关  1.) FancyForm  FancyForm 是一个非常强大的 JavaScript 库,可以作为 checkbox 和 radio button 的替代品,能生成非常漂亮的 checkbox 和 radio button,并支持几乎所有浏览器,该 JavaScript 库需要 MooTools JavaScript 框架的支持。     2.) CRIR: Checkbox & Radio Input Replacement  这个 JavaScript 和 CSS 组合可以隐藏表单中的 checkbox 和 radio button,并允许你使用 CSS 对 checkbox 与 radio button 的设置式样模拟 checkbox 和 radio button。表单的功能不会改变,仍可以收集 checkbox 和 radio button 的数据值,checkbox 和 radio button 的标签会触发那些隐藏的对象。   

11 次浏览
如何全面清理浮动?
如何全面清理浮动?

清除浮动一个凡是做页面的人都会遇到的一个东西,但是是否大家都能够清楚的知道,全方位的了解呢?于是一闲下来了马上写了这样的一篇文章,不能讲面面俱到,然而基本能将我所知道的倾囊相授了。我们粗略的一起来看看清除浮动的办法一共有多少个(IE里面用zoom:1就不写了,下一个专题再写)。对应的 DEMO粗略的看,他们都能将问题解决;然而他们另外一方面又有着各自的利弊。(一一对应)最后,列举完毕。然而我想有必要和大家道歉,关于之前转载鬼的那篇文章;非常后悔的是当初改了鬼的标题将“最简单”改成了“最优”,以致于后面误导了很多的同学。所以重新写了一篇给大家分享。

7 次浏览
select控件是如何设计的?
select控件是如何设计的?

有几个原因促使我们使用自定义的select控件来代替原生的select控件:先把用HTML+CSS把select控件的外观模拟出来:这儿用到一张图片arrow.gif运行代码框<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <style> body, table, input, textarea, select{ margin: 0; font-size: 12px; line-height:1.5; font-family: Tahoma, SimSun, sans-serif; } .zSelect { display:inline-block; *zoom: 1; *display: inline; position:relative; height:20px; vertical-align:middle; } .zSelect .inputText { line-height: 17px; font-size:12px; background: #f7fafc; padding: 1px 17px 0 1px; border: 1px solid #68a; vertical-align: top; cursor:default; height: 17px; margin:0; } .zSelect .arrowimg { display:inline-block; *zoom: 1; *display: inline; position:relative; cursor:pointer; width:18px; height:20px; left:-18px; margin-right:-18px; vertical-align: top; outline:none; background: url(/design/UploadFiles_design/201105/2011050809104370.gif); } .zSelect .arrowimg:hover { background: url(http://www.blueidea.com/articleimg/2009/06/6794/arrow_over.gif); } .optgroup { position:absolute; z-index:666; left:0; top:19px; color: #369; } .optgroup div.optionsDiv{ padding:1px; overflow: auto; overflow-x: hidden; max-height:300px; color: #369; border: 1px solid #678; background: #f7fafc; width:auto; z-index:888; filter: Alpha(Opacity=90); opacity: 0.9; } .optgroup a, .optgroup a:visited{ font-size:12px; text-decoration:none; cursor:default; display:block; color: #369; white-space: nowrap; padding:1px 3px 2px 6px; _padding:0 3px 0 6px; height:18px; min-width:2em; } .optgroup a:hover,.optgroup a.selected:hover{ color: #dff; text-decoration:none; background:#38d; } .optgroup a.selected,.optgroup a:focus{ color: #eff; text-decoration:none; background:#49e; } </style> <script> function switchOptions(ele){ var optgroup=ele.parentNode.getElementsByTagName('div')[0]; if(optgroup.className=="optgroup")optgroup.style.display=optgroup.style.display=='none'?'block':'none'; } </script> <div>当前站点: <span id="_SiteSelector" class="zSelect"> <input type="text" class="inputText" value="请选择演示站点" style="width:100px;" unselectable="On"/><img height="20" width="18" class="arrowimg" src="http://www.ps123.net/design/UploadFiles_design/201105/2011050809104370.gif" onClick="switchOptions(this)"/> <div class="optgroup" style="width:120px;"><div class="optionsDiv"> <a href="javascript:retureValur(this);">*门户类演示站</a> <a href="javascript:retureValur(this);">新闻门户类演示站</a> <a href="javascript:retureValur(this);">企业形象类演示站</a> </div></div> </span> &lt;&lt; </div> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]OK,在ff3下测试通过,在ie6、ie7下有一些错位,需要加CSS hack来作小许的调整,为了代码的纯粹,在这就不展示了。 接下来试着用js实现基本功能:通过JS替换页面内原有的select,当时我们希望这个JS是非侵入式的,只要引用了select.js这个js文件的页面,就自动把页面里原有的select控件替换接管了。

12 次浏览
Web浏览器模式的选择机制
Web浏览器模式的选择机制

为了处理根据Web标准创作的网页和根据盛行于20世纪90年代末的旧时实践创作的网页,当代的Web浏览器实现了各种不同的引擎模式。本文说明了那些模式是什么以及如何触发它们。原文:Henri Sivonen的Activating Browser Modes with Doctype本文包括的模式转换(mode switching)适用于Firefox和其他基于Gecko的浏览器,Safari、Chrome和其他基于Webkit的浏览器,Opera、 Konqueror、Mac版Internet Explorer、Windows版Internet Explorer和内嵌IE的浏览器。避免提及浏览器引擎的名字,取而代之的是使用该引擎最知名浏览器的名字。本文着重介绍模式的选择机制,而不是记录每个模式的确切行为。以下是各种不同的模式:text/html内容的模式选择取决于doctype嗅探(doctype sniffing,本文后面有讨论)。在IE8中,模式也取决于其他因素。然而在IE8的默认情况下,那些不在微软提供黑名单上的非局域网(non- intranet)站点的模式取决于文档类型。再怎么强调每个浏览器中模式精确行为的不同也是不过分的,即使本文中进行了统一的讨论。Firefox、Safari、Chrome和Opera中,application/xhtml+xml HTTP内容类型(不是meta元素也不是doctype!)会触发XML模式。在XML模式中,浏览器尝试给XML文档在规范上的正确处理达到在制定浏览器中的程度。

3 次浏览
共计26043条记录 上一页 1.. 462 463 464 465 466 467 468 ..2605 下一页