博学谷前端 CSS 常用技巧及CSS 常见bug

本文介绍了CSS中的一些实用技巧,如使用负margin实现元素重叠、创建自定义图标及优化logo等,并针对IE6等浏览器中的常见CSS Bug提供了有效的解决方案。

1.CSS 常用技巧

1.1 margin 负值

制作网页时,为了拉开元素之间的距离,常常给元素设置大于0的外边距margin。其实,在实际工作中,为了实现一些特殊的效果,经常需要将元素的margin设置为负值,如下图所示的元素重叠效果。

注意技巧:

1.定位的盒子层级高于浮动和标准流。

2.提高定位盒子的层级用 z-index。

1.2 css三角的写法

易迅、网易三角的做法:

京东三角的做法:

综合做法:

在这里插入图片描述


<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
    <style type="text/css">
    div {
        width: 0;     
        height: 0;
        margin: 100px auto;
        border-width: 10px;    /* 数值控制三角大小 */
        border-color: #f00 transparent transparent transparent;   /* 上 右  下 左 模式 */
         /* transparent透明  背景颜色默认也是透明的 */
        border-style: solid dashed dashed dashed;  /* dashed 是为了照顾ie6 灰色底的问题 */
        overflow: hidden;  /* ie6 高度问题 */
    }
    </style>
</head>
<body>
    <div></div>
</body>
</html>   

效果展示:
在这里插入图片描述

1.3 给网页添加ico图标

首先自己或者网页美工制作小图标。
利用 http://www.bitbug.net/ 进行转换 生成的是: favicon.ico 的小图标

注意路径哦!

1.4 关于logo 的优化(建议)

1.一般情况下,logo给的是背景图片

我们要在logo里面放一个h1标签,就是为提权,说明这个盒子很重要。

我们继续在h1 里面放一个链接a 要和 logo盒子一样大。

注意 a链接 里面要放上网站标题。(是为了优化)

链接里面的文字对用户体验不好,这里不需要看见。 有两种方法实现:

利用text-indent:-2000em; 或者 利用padding 挤开盒子 并且overflow 切割

给链接添加 title 提示文本 增强用户体验。

2. CSS 常见bug

2.1 IE6及更早浏览器浮动时产生双倍边距的BUG?

所谓的IE6双倍边距就是指当元素有float属性,又有margin属性时,在IE6下面显示的margin的值是设置值的两倍。这个是IE6比较著名的BUG。 解决的方法就是_display:inline。

2.2 IE6下元素最小高度的问题

在IE6下面,如果想给把元素例如div设置成19像素以下的高度设置不了。这是因为IE6浏览器里面有个默认的高度 iE6下这个问题是因为默认的行高造成的,解决的技巧也有很多,例如:overflow:hidden;height:1px;font-size:0;line-height:0; 都可以。

2.3 IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG?

vertical-align:top;

除了top值,还可以设置为 middle | bottom 等都可以

2.4 IE6中奇数宽高的BUG

IE6还有奇数宽高的bug,解决方案就是将外部相对定位的div宽度改成偶数。

2.5 了解ie6盒子会撑高的特性

ie下面的盒子, 即使你给与了宽度和高度,但是内容超过大小的时候,盒子还会撑大,解决方法就是添加overflow:hidden;

在这里插入图片描述

学IT,上博学谷
感谢博学谷老师们强大的技术储备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值