直接对frameset设置是无法为整个页面添加滚动条的(测试发现,通过设置overflow属性IE下可以实现,chrome不行)。
解决办法
再新建一个网页,在其中添加一个iframe,使用该iframe对框架结构的网页进行包装,经测试,各浏览器均兼容。
代码
[html]
[/html]
直接对frameset设置是无法为整个页面添加滚动条的(测试发现,通过设置overflow属性IE下可以实现,chrome不行)。
解决办法
再新建一个网页,在其中添加一个iframe,使用该iframe对框架结构的网页进行包装,经测试,各浏览器均兼容。
代码
[html]
<script src="//code.jquery.com/jquery-latest.min.js"></script> <script src="//unslider.com/unslider.js"></script>
<div> <ul> <li><img src="slider_1.jpg" /></li> <li><img src="slider_2.jpg" /></li> <li><img src="slider_3.jpg" /></li> </ul> </div>
.banner { position: relative; overflow: auto; } .banner li { list-style: none; } .banner ul li { float: left; }
$(function() { $('.banner').unslider(); });
Font Awesome 是一套专门为 Twitter Boostrap 设计的图标字体库。这套图标字体集几乎囊括了网页中可能用到的所有图标,除了包括 Twitter Boostrap 的默认图标外,还有社交网络图标、Web 应用程序图标和编辑器图标等等,可以免费用于商业项目。
主要特色:
<link href="../css/bootstrap.min.css" rel="stylesheet" />
<link href="../css/font-awesome.min.css" rel="stylesheet" />
@FontAwesomePath: "../font";
然后重新进行 LESS 编译就可以了。
如何 GitHub 无法访问,可能需要配置 hosts 才能访问:
207.97.227.239 github.com
207.97.227.252 nodeload.github.com
207.97.227.243 raw.github.com
204.232.175.78 documentcloud.github.com
在最近的一个项目中,用了百度推出的在线富文本编辑器,感觉蛮好用的。推荐一下。
只有将父元素的postion设置为relative,那么absolute定位才以父元素为基准进行偏移。
拿例子说明最好 <body> <div id="a"> <div id="b"></div> </div> </body> #a{width:500px;height:500px;background:#ccc;} #b{width:100px;height:100px;background:#f00;} 首先我们设置#a{position:relative;left:30px;top:50px;} 此时浏览效果为,#a距离浏览器 上边缘50px,左边缘30px 接着我们设置#b{position:absolute;left:20px;top:10px;} 此时浏览效果为#b是距离#a内部上边缘10px,左边缘10px,而不是相对于浏览器 一句话,如果要使用absolute,就必须在这个absolute的外面那个层设置relative 如刚刚这个例子的#a和#b这样 而relative不是就是相对于浏览器的边缘的,而是相对于包围他的那个层,不理解,咱继续 如<body> <div id="out"> <div id="a"><div id="b"></div></div> </div> </body> 假如我们的#out此时在距离浏览器上方100px,距离浏览器左边300px 那么我们设置#a{position:relative;left:10px;top:20px;} 此时浏览器显示#a距离#out上边缘20px,左边缘10px 好了,差不多就这样了,自己必须写一下才能知道,看看肯定不行
Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。
<html>
<head>
<style>
@-webkit-keyframes twinkling{ /*透明度由0到1*/
0%{
opacity:0; /*透明度为0*/
}
100%{
opacity:1; /*透明度为1*/
}
}.twinkling{
-webkit-animation: twinkling 1s infinite ease-in-out;
}.yellow{
background:yellow;
}
</style>
</head>
<body>
<div class=”twinkling yellow”>Go!!!</div>
</body>
</html>
注:动画名称为twinkling 时间为1s 动画次数为无限次 动画效果ease-in-out
简单吧!其实用css3做动画效果,比用flash,javascript要方便简单多了!希望浏览器赶快都支持css3 Animation .目前webkit内核的浏览器都支持(safrai,chrome)
摘自:html5专栏
直接说解决办法,原理就是利用label控件。在点击label时,相当于触发上传控件的“浏览”按钮,且不会发生“拒绝访问”错误。
只有两步:
1、用CSS隐藏input控件,注意不能用display:none的方法,否则控件的功能也失效了。代码如下:
#upload_file{
position:absolute;
top:-9999px;
opacity:0;
filter:alpha(opacity:0);
}
2、为input控件添加label,属性for的值即为上传控件的ID,代码如下:
<label for=”upload_file”>上传新图标</label>
剩下的就是利用CSS美化这个label了。
今天,在完善一个原来项目的过程中,实现了两个想法:一个是表格单元格宽度的强制固定,另一个是网页对屏幕分辨率的自适应。下面分别介绍一下。
曾经碰到一个非常头疼的问题:一个table拆分为两个后,如何让两个table中的各个列精确对齐,看起来如同一个表。
这个问题,初想起来是蛮简单的:只要给两个table都添加相同的一堆<col>不就行了?
但实际操作起来却发现存在这样的问题:表格会根据单元格中填充内容的多少自动调整表格。
后来,我尝试着将table的各列的宽度直接作为行内style进行定义,结果也一样,表格仍然自动调整。
这里不再详述问题的解决过程。将几点重要经验分享给大家:
1、单元格的溢出处理
[css]
table{
width:1000px;
table-layout:fixed;
}
td{
overflow:hidden;
text-overflow:ellipsis;
}
[/css]
2、根据框模型,仔细分析宽度组成。这里重点观察:width是否如你所想的,包含了border、padding等。
小技巧:很多浏览器自带调试工具,用调试工具进行查看能发现意想不到的问题!
此项目要求在不同分辨率的屏幕上具有较为严格的一致性。这里给出解决思路供大家参考。
1、头部HEAD
[html]
这些文件中只包含各分辨率下不同的部分,相同部分放在style.css中。
命名方式参考:style_pack_1920_1080.css, style_pack_1024_768.css。
3、利用js进行css文件引入控制
给出jquery代码:
[javascript]
function ajust_to_screen(){
var width = parseInt( $(‘body’).css(‘width’) );
var css_pack_file;
switch( width ){
case 1024:
css_pack_file = ‘style_pack_1024_768.css’;
break;
case 1920:
css_pack_file = ‘style_pack_1920_1080.css’;
break;
default:
css_pack_file = ‘style_pack_1920_1080.css’;
break;
}
$(‘style_pack’).attr( ‘href’, css_pack_file );
}
[/javascript]
如果分别用IE5、IE6、IE7、firefox、google浏览器、苹果浏览器浏览同一个网页,将可能出现不一样的效果。
这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致。为了解决这些浏览器的css不兼容问题。
我们不得不找到一个能平衡于它们之间的解决方法。
如png透明问题在IE5、IE6下无法显示出其效果,我们可能会使用CSS hack或者引入外部JavaScript来实现。譬如前面我提到过用pngfix的那个方法就是调用外部JavaScript来解决在IE5、IE6下png透明问题。当然还有更多的方法。
而现在有种更加完美的方法能兼容IE5、IE6、IE7、firefox、google浏览器、苹果浏览器的CSS选择器解析不一样问题。那就是: ie7 – js
ie7 – js中是一个JavaScript库(解决IE与W3C标准的冲突的JS库),使微软的Internet Explorer的行为像一个Web标准兼容的浏览器,支持更多的W3C标准,支持CSS2、CSS3选择器,使css兼容各个浏览器。它修复了许多的HTML和CSS问题,并使得透明PNG在IE5、IE6下正确显示。
目前该ie7 – js版本: 2.1 beta 4
用法:
直接引用Google Code服务器上的js文件。
IE7.js
使IE5、IE6升级至兼容IE7
注释使Internet Explorer版本号小于7的IE浏览器载入该代码。
<!--[if lt IE 8]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script> <![endif]-->
IE8.js
使IE5、IE6、IE7支持更多的W3C标准(修复了许多的HTML和CSS问题)。
注释使Internet Explorer版本号小于8的IE浏览器载入该代码,而其它符合标准的浏览器则会忽略该代码,并在IE8出来后不干扰其工作。
<!--[if lt IE 7]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js"></script> <![endif]-->
PNG
此脚本仅修复了图像命名为:*-trans.png
遗憾的是,此方法透明的PNG图像不能平铺(重复)使用在背景上;也不能用在CSS “position”定位属性上 。
除了直接引用Google Code服务器上的js文件外,如果你愿意你也可以下载然后引入
下载地址页面:http://code.google.com/p/ie7-js/downloads/list
CSS框架通常指的是一些CSS文件的集合,这些文件包括网页的基本布局、表单样式、网格或简单结构、以及样式重置。例如:
虽然对于小的WEB开发项目来说,CSS框架并不一定适用,但是对于规模较大的团队开发项目而言,CSS框架不仅能加快设计开发速度,而且还能有效解决网站改版中带来的诸多麻烦和问题。这里推荐的15款CSS框架是现在国外最流行的CSS框架,希望能对你的开发有所帮助!
Elements 是一个实用的CSS框架。它是为了帮助设计师更快更高效的来写CSS而建立。Elements 已经超越了仅仅作为一个框架,它有自己的项目工作流。它拥有你完成项目所需的所有东西,这也让你和你的浏览者感到愉悦。阅读 概述 了解更多。
2 . YUI Grids CSS
YUI Grids基本的YUI网格CSS提供4种预设的页宽、6种预设模板和再分为2、3、4卷的区块的功能。 这个4KB的文件可提供超过1000中页面布局组合。 更多信息
Dirk Jesse的强大的(X)HTML/CSS框架为许多的简单或更复杂的网站项目提供完整的默认模板包。YAML基于网页标准并支持所有现代浏览器。所有的 Internet Explorer的主要渲染漏洞都被解决。YAML 完全支持从5.x到7.0的所有的IE版本。
4 . Blueprint CSS
Blueprint 是一个CSS 框架,它的目的是减少你的css开发时间。它提供一个可靠的css基础去创建你的项目,BP由一个易用的网格、合理的布局和一个打印样式。
5 . Schema Web Design Framework
Schema 是一个为了提供在重复的设计任务中必须的CSS和HTML标签而设计的表现层的网页框架设计。 与为每一个新的网站项目从零开始创建HTMl/CSS不同,Schema提供必要的基础来开始并立马让你的设计跑起来。
6 . CleverCSS
CleverCSS是一个用于css的受Python启发的小型的标记语言,它可用于以整洁的和结构化的方式创建一个样式表。在很多方面它都比CSS2整洁和强大。与CSS最明显的区别是句法:它基于缩进而且不单调。虽然这显然违反了Python的规则,它依然是组织样式的很好的主意。
Tripoli是一个用于HTML表现的通用css规范。通过重设和重建浏览器标准,Tripoli 为你的网站项目提供了一个标准的、跨浏览器表现的基础。
8 . ESWAT Web Project Framework
ESWAT正在重新整理。如果你是冲着我的网站框架来的,那么你就可以在这里下载。也许你也想看看我的其他项目gmachina、AppleSeed。
作为BluePrint CSS的原作者之一,我决定把我的思想重新整理到一个赤裸裸的框架,它提供最基本的要素来开始任何项目。这个框架将是较小的而且力求不使用非语义的命名习惯。你就是设计者而且你的技术很重要。
WYMstyle是一组CSS文件,你可以很容易的组合这些文件来快速的创建你的网站的布局。通过提供可靠的、经过良好测试的CSS模块,WYMstyle 力求让每个网站防止枯燥的跨浏览器兼容性测试。
11 . Content with Style Framework
Content with Style下一个逻辑步骤就是将这个扩展为CSS框架,允许使用写好并通过测试的组件来快速开发网站。实际上所需的是搞定一套命名习惯和一个灵活的基本模板。
12 . Logicss Framework
Logicss 框架是用来减少开发符合web标准的xHTML布局的时间的一个由CSS文件和PHP程序组成的集合。通常跨浏览器表现行为(不是Meyer的reset文件或是用“*”),排版支持文本字体大小调整(使用EMs) 和垂直居中,符合可定义的灵活的布局网格利用css代码生成工具。
13 . That Standards Guy CSS Framework
That Standards Guy只能调用单个样式文件,主样式需要取得CSS认证(WCAG 1.0); 跨浏览器兼容性—包括Internet Explorer (IE) 5.x for Mac; IE Hacks使用独立文件; 快速创建模板;框架中提供 少量注释/实例演示,可以节省时间来理解。
14 . 960 Grid System
960 Grid System是一个通过提供通常使用的尺寸简化网站开发流程的努力的结果,基于960像素的页面宽度。它有两种类型,12和16列,他们可以独立使用或是协同使用。
Emastic 是一个CSS框架,它有连续的任务:探索陌生的新世界,寻找新生活和新的网站空间,大胆的去CSS框架尚未到达的领域。它是轻量的、在页面宽度上比较人性化,在网格中使用固定和不固定的列宽。 Elastic 用“em”布局。
在chrome、ie浏览器中显示均正常,为何用360或搜狗等浏览器的兼容模式查看网页布局会全乱了呢?
解决办法:在head中添加一个meta标签,指定兼容模式。因为旧的ie浏览器与chrome等浏览器的解释方式差别较大,因此个人经验是指定较高的兼容模式即可,如ie8。
兼容性对于网页设计师来说非常重要。虽然最好是建立一个完全不需依赖任何网页浏览器特性或功能的网站,但是有时候这是不可能实现的。而文件兼容模式能将网页限制在某个特定版本的IE中。
可以使用 X-UA-Compatible 标头来指定网页支持的IE版本,可以使用 document.documentMode 来判定网页的兼容性模式。
通过选择支持某个特定版本的IE,你可以确保你的网页在未来的浏览器版本中也能显示一致。
指定网页兼容性模式
要为网页指定兼容模式,需要在网页中使用 meta 元素放入 X-UA-Compatible http-equiv 标头。以下范例是指定网页为 IE7 兼容模式。
复制代码
不过前两天给一个网站调试的时候发现他连续加了两个版本的兼容,结果没有任何变化,结果查了下资料原来是IE浏览器只能读第一个兼容的代码后面的都不认!
即:IE只会执行网页中第一个 X-UA-Compatible 标头。
可以使用多个属性值来指定网页兼容模式,这能使网页在将来的浏览器版本中保持显示一致。如果需要设置多个兼容模式,使用分号分开各个模式。
如果一个特定版本的 IE 支持的可用兼容模式多于一种,则将采用列于标头属性中最高的可用模式。尽管不推荐这样做,但是可以使用这个特性来排除特定的兼容模式。下面的例子将会排除 IE7 模式。
复制代码
常用兼容标头如下:
各种兼容模式代码范例:
复制代码
像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。
复制代码
无论页面是否包含 <!DOCTYPE> 指令,均使用 Windows Internet Explorer 7 的标准渲染模式。
复制代码
开启 IE8 的标准渲染模式,但由于本身 X-UA-Compatible 文件头仅支持 IE8 以上版本,因此等同于冗余代码。
复制代码
Edge 模式通知 Windows Internet Explorer 以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。
复制代码
EmulateIE7 模式通知 Windows Internet Explorer 使用 <!DOCTYPE> 指令确定如何呈现内容。标准模式指令以Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指令。