CSS div在缩小时缩小

时间:2013-04-24 17:44:01

标签: css html5 css3 css-float

我正在使用div作为我网站的面包屑。它在浏览器窗口的实际大小和放大时保持恒定大小。但在缩小时,div正在缩小。

这是我正在使用的代码。我是否需要在某处进行编辑?

    <style>

.breadcrumb { 
        list-style: none; 
        overflow: hidden; 
        font: 18px Lucida Sans Unicode;
        text-align: center;
}
.breadcrumb li { 
        float: left;

}
.breadcrumb li a {
        color: white;
        text-decoration: none; 
        padding: 11px 0 11px 55px;
        background:  #327ea4;                   /* fallback color */
        background:  #327ea4; 
        position: relative; 
        display: block;
        float: left;
        width: 15.12em;
        /*width: 15.1185em;*/
        cursor: default;
        border-top-left-radius: .4em;
        pointer-events: none;
}
.breadcrumb li a:after { 
        content: " "; 
        display: block; 
        width: 0; 
        height: 0;
        border-top: 50px solid transparent;           /* Go big on the size, and let overflow hide */
        border-bottom: 50px solid transparent;
        border-left: 30px solid  #327ea4;
        position: absolute;
        top: 50%;
        margin-top: -50px; 
        left: 100%;
        z-index: 2; 
}   
.breadcrumb li a:before { 
        content: " "; 
        display: block; 
        width: 0; 
        height: 0;
        border-top: 50px solid transparent;           /* Go big on the size, and let overflow hide */
        border-bottom: 50px solid transparent;
        border-left: 30px solid white;
        position: absolute;
        top: 50%;
        margin-top: -50px; 
        margin-left: 1px;
        left: 100%;
        z-index: 1; 
}   
.breadcrumb li:first-child a {
        padding-left: 30px;
}
.breadcrumb li:nth-child(2) a       { background:        #7fc1ec; color: #327ea4; cursor: default;}
.breadcrumb li:nth-child(2) a:after { border-left-color: #7fc1ec; color: #327ea4; cursor: default;}
.breadcrumb li:nth-child(3) a       { background:        #7fc1ec; color: #327ea4; cursor: default;}
.breadcrumb li:nth-child(3) a:after { border-left-color: #7fc1ec; color: #327ea4; cursor: default;}
.breadcrumb li:nth-child(4) a       { background:        #7fc1ec; color: #327ea4; cursor: default;}
.breadcrumb li:nth-child(4) a:after { border-left-color: #7fc1ec; color: #327ea4; cursor: default; }
.breadcrumb li:last-child a {
        /*background: white !important;*/
        /*color: black;*/
        pointer-events: none;
        cursor: default;
        border-top-right-radius: .4em;
}
.breadcrumb li:last-child a:after { border: 0; }
    </style>

<div style="width:75em;" oncontextmenu="return false"  >
    <ul class="breadcrumb">
        <li><a href="#">Step 1</a></li>
        <li><a href="#">Step 2</a></li>
        <li><a href="#">Step 3</a></li>
                    <li><a href="#">Step 4</a></li>
    </ul>

</div>

提前致谢。

1 个答案:

答案 0 :(得分:1)

当您在EM中定义元素的高度或宽度时,如下面的代码段...

.breadcrumb li a {
        color: white;
        text-decoration: none; 
        padding: 11px 0 11px 55px;
        background:  #327ea4;
        background:  #327ea4; 
        position: relative; 
        display: block;
        float: left;
        width: 15.12em; /* <-- RIGHT HERE */
        cursor: default;
        border-top-left-radius: .4em;
        pointer-events: none;
}

...你实际上是将元素的大小绑定到该元素的font-size。

当您增加浏览器“缩放”时,所有发生的事情都是字体大小增加(以像素为单位)。

示例:

font-size: 10px,因此width: 2em == width: 20px

缩放(增加字体大小)

font-size: 12px,因此width: 2em == width: 24px