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

标签 html css

Q1

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

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

Q2

低于<div class="shape"></div> image 我想在中心下方放置一个矩形框。在这个 CSS 中,我需要添加什么代码来上下移动形状。此外,在 CSS 中我会使用 height:; & 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>

最佳答案

要将一个 DIV 放在另一个 DIV 之上,您可以将应该出现在顶部的那个(= 子元素)放入另一个(= 父元素),例如

<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 分配一个背景(只能是一个颜色值)以实际覆盖它们背后的内容。

评论后添加,关于codepen:

  • 您在 HTML 中采用了另一种方式 - 形状必须在英雄内部

  • CSS:绝对/相对:相反。

其余的,看http://codepen.io/anon/pen/JWONgz中的代码

关于html - 如何将 <div> 放在另一个 <div> 上并在图像下方插入一个矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42843180/

相关文章:

jquery 显示/隐藏中断链接

javascript - 如何在特定内容上应用 css 溢出属性

css - 如何覆盖表格边框的 w3.css

javascript - 有没有办法在移动设备上将鼠标事件用作触摸事件?

html - 导航菜单下拉不会垂直显示

javascript - react : Big Calendar Font Style

javascript - jquery:在文本框更改时获取文本框的值和ID

javascript - 在每个动态创建的元素上调用颜色选择器

html - 我可以使用 Flexbox 创建背景和前景吗?

javascript - 如何将相同的 JQuery 应用于两个导航并为每个导航添加不同的类