如何将<div>放在另一个<div>上并在图像下插入一个矩形?

时间:2017-03-16 19:27:20

标签: html css

Q1

如何将图像放在背景图像的中央?

我正在尝试将图片<div class="shape"></div>放在中心内的图片<div class="hero"></div>上。我可以添加什么编码来上下移动我的需求?

Q2

<div class="shape"></div>图片下方,我想在中间放置一个矩形框。在这个CSS中,我需要添加什么代码才能让我上下移动形状。此外,在CSS中我会使用height:;&amp; width:;更改框的高度/宽度?​​

HTML

 <body>
        <nav class="navbar navbar-default navbar-fixed-top"> 
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="#"><img src="http://placehold.it/60x60" alt="Your Brand Name"></a>
                    <h1 class="nav-title">Liam Docherty's Digital Portfolio</h1>
                </div>
                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                    <ul class="nav navbar-nav">
                            <li><a href="#">Home</a>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="true">About Me <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a>
                                    </li>
                                    <li><a href="#section3">Contact</a>
                                    </li>
                                    <li><a href="#">Something else here</a>
                                    </li>
                                    <li><a href="#">Separated link</a>
                                    </li>
                                    <li><a href="#">One more separated link</a>
                                    </li>
                                </ul>
                            </li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Units <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a>
                                    </li>
                                    <li><a href="#">Another action</a>
                                    </li>
                                    <li><a href="#">Something else here</a>
                                    </li>

                                    <li><a href="#">Separated link</a>
                                    </li>

                                    <li><a href="#">One more separated link</a>
                                    </li>
                                </ul>
                            </li>
                            <li><a href="#">Clients</a>
                            </li>
                            <li><a href="#contact-me">Contact Me</a>
                            </li>
                        </ul>
                      </div><!-- /.navbar-collapse -->
                    </div><!-- /.container-fluid -->
        </nav>


    <section id="section1" class="section1">
      <div class="shape"></div>
      <div class="hero"></div>


      <a href="#section2"><i class="fa fa-angle-down" style="font-size:100px;"></i></a>

    </section>

</body>

CSS

<style>
    body {
      margin: 0;
      padding: 0;
    }
    .navbar.navbar-default {
      background-color: #4D5061;
      height: 10vh;
      z-index: 100;
    }
    .navbar.navbar-default ul {
      list-style-type: none;
      text-align: right;
    }
    .navbar.navbar-default ul li {
      display: inline-block;
    }
    .dropdown-menu li { 
        text-align:center 
    }
    .dropdown .dropdown-menu {
      background-color: #4D5061;
    }
    .dropdown .dropdown-menu a {
      color: white;
    }
    .navbar.navbar-default ul li a {
      display: inline-block;
      padding: 3.5vh 8px 4px;
      color: white;
      text-decoration: none;
      font-size: 14pt;
      font-family: 'Roboto', sans-serif;
    }
    .navbar.navbar-default ul li:after {
      content: '';
      position: absolute;
      right: 50%;
      bottom: 0;
      left: 50%;
      height: 3px;
      background-color: #FFFFFF;
      border-radius: 9px;
      transition: all .2s;
    }
    .navbar.navbar-default ul li a:hover {
      color: white;
    }
    .nav.navbar-nav,
    .nav.navbar-nav>li {
      float: none;
    }
    .navbar.navbar-default ul li:hover:after {
      right: 0;
      left: 0;
    }
    .nav>li>a:hover {
    background-color: rgba(17, 17, 17, 0.2);
    }
    #logo {
      padding-top: 2vh;
      padding-left: 20px;
      float: left;
    }
    .shape {
      content:url(http://i1126.photobucket.com/albums/l611/ldocherty1/IMG_0730_zpsiz4dqc47.jpg);
      border-radius: 25px;
      background:darkgrey;
      color:white;
      padding:3px;
      margin:50px auto 0 auto;
      width:150px;
      height:150px;
    }
    .hero {
      background-image: url("https://static.pexels.com/photos/48727/pexels-photo-48727.jpeg");
      background-attachment: fixed;
      position:absolute;
      width: 100%;
      width: 100vw;
      height: 100%;
      height: 70vh;
    }
    section {
      position: relative;
      height: 95vh;
    }
    .section1 {
      height: 100vh;
      text-align: center;
      color: white;
    }
    .section2 {
      //height: 95vh;
      background-color: #11B5E4;
      text-align: center;
      color: white;
    }
    .section3 {
      //height: 95vh;
      background-color: #EDF7F6;
      text-align: center;
      color: white;
    }
    .fa-angle-down {
      color: #4D5061;
      position: absolute;
      bottom: 0px;
    }
    .fa-angle-up {
      color: #4D5061;
      position: absolute;
      bottom: 0px;
    }
    .footer {
      height: 5vh;
      background-color: #4D5061;
      text-align: center;
      padding:0;
      right:0;
      bottom:0;
      left:0:
    }
    .nav-title {
      font-size: 14pt;
      margin:0;
      top: 32px;
      left: 50px;
      width: 100%;
      position: absolute;
      text-align: center;
      color: white;
      font-family: 'Roboto', sans-serif;
    }
    .navbar.navbar-default ul.dropdown-menu li,
    .navbar.navbar-default ul.dropdown-menu li a {
      position: relative;
      display: block;
    }
    </style>

1 个答案:

答案 0 :(得分:2)

要将一个DIV放在另一个DIV上,你将那个应该出现在顶部的那个(=孩子)INTO到另一个(=父元素),例如

<div class="x1"><div class="x2">...content...</div></div>

这些最重要的CSS设置是:

div.x1 {
  position: relative;
}
div.x2 {
  position: absolute;
  top: 30px;
  left: 50px;
  width: 100px;
  height: 50px;
}

上面的所有px值都是完全随机的,它们取决于您的实际情况 - 根据您的需要进行调整。但是你确实需要第二个div的这些或类似的参数。

另外一个矩形可以采用相同的方式处理(如div.x2)。

此外,您可以为那些绝对定位的DIV分配background(只能是一个颜色值),以实际覆盖它们背后的内容。

评论后补充说,关于codepen:

  • 你是用HTML做的另一种方式 - 形状必须在英雄内部

  • CSS:绝对/相对:其他方式。

其他方面,请查看http://codepen.io/anon/pen/JWONgz

中的代码