设置HTML创建一个标准的无序列表(为了方便测试,特别复制出一份代码)
<ul>
<li>
<input type="checkbox" name="manager" id="manager" />
<label for="manager">Project Manager</label>
</li>
<li>
<input type="checkbox" name="webdesigner" id="webdesigner" />
<label for="webdesigner">Web Designer</label>
</li>
<li>
<input type="checkbox" name="webdev" id="webdev" />
<label for="webdev">Web Developer</label>
</li>
<li>
<input type="checkbox" name="seo" id="seo" />
<label for="seo">SEO</label>
</li>
<li>
<input type="checkbox" name="itstaff" id="itstaff" />
<label for="itstaff">IT Staff</label>
</li>
<li>
<input type="checkbox" name="csr" id="csr" />
<label for="csr">Customer Service Representative</label>
</li>
</ul>
首先,隐藏复选框
/* Hide the Ordinary Checkbox */
input[type="checkbox"] {
display: none
}
然后需要在我们的列表和标签标记的相对位置和填充设置一些样式。
下一步需要使用伪代码在标签之前和之后设置样式。对于这部分,我们将设置复选框Font Awesome,用一个矢量图标。
/* Checkbox Icons */
label {
position: relative
padding-left: 30px
font-size: 30px
cursor: pointer
color: #fff
padding: 16px 28px 0 0
}
label:before, label:after {
font-family: FontAwesome
font-size: 50px
/*absolutely positioned*/
position: absolutetop: 0left: -49pxright: 10px
}
现在我们需要设置图标步骤之前和之后的复选框。
label:before {
content: '\f096'/*checkbox unchecked */
}
label:after {
content: '\f00c'/*checkbox checked*/
max-width: 0
overflow: hidden
opacity: 0.5
font-size: 27px
top: 16px
left: -42px
color: #f2ca27
-webkit-transition: all 0.50s
-moz-transition: all 0.50s
-o-transition: all 0.50s
transition: all 0.50s
}
最后一步是设定一个目标,文本框和复选框后的伪代码,并给它一个最大宽度25像素之间和不透明度1。
/* Animating the Checkbox Icon */
input[type="checkbox"]:checked + label:after {
max-width: 25px
opacity: 1
margin-right: 90px
}
1.目前来说对css支持最好的公认的是火狐浏览器,错位的原因在css代码书写不规范。2.兼容性:对于CSS(样bai式表)并不是所有浏览器的所有版本都支持的很好,比如IE5以前的浏览器对于CSS的支持就不是很好。而现在使用IE5以前版本浏览器的用户不在少数,这样就使得在页面制作的过程中需要针对不同浏览器版本进行测试,以保证兼容性,无形中也增加很多工作量(至少我接触的开发人员制作div页面比table页面的标准时间要长一些)。
3.对css缩写的支持问题:
不论是ie 还是ff对css的缩写都有一小点问题比如border: 0xp solid #fff两个浏览器支持都没有问题
但对于四个边的magin不同情况下,就不能用这种缩写了,无论是ie还是ff又会出现边界解释错误,而导致页面变形正确缩写:border-width:0px 1px 2px 3px
border-style:solid
border-color:#fff
第二点是 ie对于css的magin padding 等默认值为0px,但ff却不一样,为了保持外观的统一性,即使padding为0你也要写上,以免ff在浏览中的错位。
IE与Firefox的CSS兼容大全 1.DOCTYPE 影响 CSS 处理
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行
3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上
6.div 的垂直居中问题: vertical-align:middle将行距增加到和整个DIV一样高 line-height:200px然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!importantmargin:28px}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30pxmargin:28px}
用css3可以直接用图片作为背景就可以了,不需要用js。解决方法如下:
1、双击打开HBuilderX开发工具,在Web项目中新建静态页面canvas.html。
2、打开已新建的canvas.html文件,修改title标签里的文字内容。
3、在<body></body>标签内,插入一个canvas标签,并设置id属性值。
4、在canvas标签下,添加script标签并初始化canvas对象,调用自带的方法。
5、保存代码并运行项目,打开浏览器查看界面效果,可以发现绘制了一条线。
6、在style标签中,利用ID选择器设置canvas样式,添加背景色设置。
7、再次保存代码文件,并刷新浏览器,可以看到canvas画布背景色发生了改变。