CSS中的負margin之我見

碎碎念:寫博客就是在整理自己的思路,有條有理地把自己的想法表達出來,而且做到了一次書寫,多次複用!多寫博客多思考。寫博客是一件從長遠來看有很多好處,卻幾乎沒有什麼壞處的事情,從現在開始堅持!

基本概念

負margin的效果
這張圖很好地說明了margin的概念:當設置margin-top、margin-left爲負數時,元素自身會進行移動,但原先所佔的位置依然有效,設置margin-bottom/right爲負數,元素並不會向下/右移動,而是將後續的元素拖拉進來,覆蓋本來的元素。利用這個思想,我們可以做出很多的效果。

小例子:

注意right元素,在左浮動後,又margin-left了-200px(與自身寬度相同),直接導致元素在自身div所佔的那一行上消失,跑到上面去了。
示意圖
例子

效果一:

用<ul>實現的三列布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Margin Negative</title>
</head>
<style type="text/css">
ul { list-style: none;}
.col{line-height: 1.5em;}
.col2{margin-left: 150px;}
.col3{margin-left: 300px;}
.top{margin-top: -3em;}
</style>
<body>
    <div>
        <ul>
            <li class="col">阿里巴巴</li>
            <li class="col">網易</li>
            <!--先起作用的是margin-top,向上移動3個字符間距,然後攝者左邊距 -->
            <li class="col2 top">蘑菇街</li>
            <li class="col2">微店</li>
            <li class="col2">大搜車</li>
            <li class="col3 top">百度</li>
            <li class="col3">騰訊</li>
            <li class="col3">新美大</li>
        </ul>
    </div>
</body>
</html>

效果二

圖片加小標籤

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Negative Margin</title>
</head>
<style type="text/css">

.pic{
    display: block;
    margin:-480px 0 0;
}
</style>
<body>
    <div class="item">
        <a href="javascript:void(0)" class="">
            <img src="img/moon.jpg">
        </a>
        <span alt="flag" class="pic"><img src="img/flower.jpg"></span>
    </div>
</body>

</html>

效果三

圖片環繞文字

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Margin Negative</title>
</head>
<style type="text/css">
.item {
    border: 1px solid #cee;
    padding: 10px;
    height: 300px;
}

.demo-text {
    margin: -229px 0 0 410px;
    border: 1px solid #000;
}
</style>

<body>
    <div class="item">
        <div><img src="img/moon.jpg" width="400px" height="229px"></div>
        <div class="demo-text">
            <p>
                如果我重新回到22歲,我認爲成功的人生是由在我們舒適區之外的很多次週期構成的。不管年齡與過往經歷,我們都有能力被啓發,被鼓舞,獲得能量,並重新開。22歲這個年齡擁有強大的抱負、自信與精力,但你心中可能只有一個模糊的目標——去做一些“很棒的事情”。“很棒的事情”從不容易,也總是存在於你的舒適區之外。真正的生活開始於你的舒適區之外。
            </p>
        </div>
    </div>
</body>
</html>

參考資料

http://www.w3cplus.com/css/the-definitive-guide-to-using-negative-margins.html
http://www.hicss.net/i-know-you-do-not-know-the-negative-margin/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章