没有什么问题是用一个div解决不了的,如果有,那就用两个。

项目终于提测了,耗时3周,经历了从前端小白到前端小菜的过程。在开发过程中,踩到了很多坑,但是通过万能的baidu和google,这些坑都被填平了,尽管填坑的材料可能不是最优。现在纪录一下踩到的坑和填坑的过程。

Requirement:
实现一个在图片底部用阴影展示title的样式。如果把图片和标题各看作一个div,那要实现的就是让一个div悬浮(或重叠)在另一个div上面。

Implementation:
1、按顺序输入的div是从上到下排列的。

html:
    <div class = "under"></div>
    <div class = "over">
        <p>title</p>
    </div>
css:
    .under {width: 100px; height: 50px; background: #bebebe;}
    .over {width: 100px; height: 30px; background: black; color: white;}

效果:

Paste_Image.png
  • 上方灰色区域为under,下方黑色区域为over,按顺序排列。

2、为了让over悬浮在under上,要使用到position属性。

html不变。
css:
    .under {width: 100px; height: 50px; background: #bebebe; position: absolute;}
    .over {width: 100px; height: 30px; background: black; color: white; position: relative;}

效果:

Paste_Image.png
  • 此时over已经悬浮在under上了。通过调整over的top属性,即可调整over在under上的位置。
  • 但是此时有一个问题,如果要将over固定在under底部,要设置top: 20px;或者bottom: -20px;才行。因为此时under是绝对位置,over是相对位置,此时的top和bottom均为over自身的顶部的底部。如果under的高度是不固定的,此时over的位置就很难确定了。接下来我们就解决这个问题。

3、没有什么问题是一个div解决不了的。

html:
    <div class="parent">    
        <div class="first"></div>
        <div class="second">
            <p>title</p>
        </div>
    </div>
css:
    .parent {position: relative;}
    .under {width: 100px; height: 50px; background: #bebebe;}
    .over {width: 100px; height: 30px; background: black; color: white; position: absolute; bottom: 0;}

效果:

Paste_Image.png
  • 通过使用一个父div将under和over包括起来,并将父div设置为relative,over为absolute。此时over的位置即是相对父元素的位置。

好了。今天就纪录到这里,如果找到更好的方法会继续补充。加油!新的一周已经开始!

本站以现代、古代情诗为主,情诗网创办于2013年,以原创爱情诗歌、经典情诗、现代情诗、古代情诗、英文情诗、情诗绝句为主并收集古诗、古诗词、诗歌大全、诗词名句的文学门户。方便您下次继续阅读;可以放在浏览器的收藏夹中(快捷键Ctrl+D);或者看到喜欢或者有趣的诗词可以通过分享按钮给你的好友分享;情诗网是目前最全情诗大全网站之一。并欢迎广大诗歌爱好者阅览投稿!喜欢本站的话请大家把本站告诉给你朋友哦!地址是 www.qingshiwang.com !