代码之家  ›  专栏  ›  技术社区  ›  James Pointer

为剖面创建响应图像

  •  0
  • James Pointer  · 技术社区  · 6 年前

    我确信我在这里犯了一些非常明显的愚蠢错误,但这已经困扰了我一段时间了,无论我往哪里看,我都想不出来。。我只是在一个非常基础、枯燥的网站上练习,我需要标题下面的部分中的图像能够做出响应,但由于某种原因,无论我做什么,我都无法让它工作。

    抱歉,如果回答了这个问题,我看了一下,没有找到完全相同的内容。如果有人能为我解释一下,我将非常感激。提前谢谢。

    HTML:

    <html>    
    <body>
    
          <header>
            <div class="container">
              <div class="brand">
                <img class="brandImg" src="https://photos-1.dropbox.com/t/2/AACo_XuN80WW6m3RltLuUDD-Koivyw205OCV55h43hevVQ/12/184045382/png/32x32/1/_/1/2/network.png/EKPi4YsBGMICIAIoAg/u6N5dEYvNDRNysVhT6Arx-eKOa64tOkilzRp8K3e93Y?preserve_transparency=1&size=1600x1200&size_mode=3" alt="Brand Image">
                <h3 class="mainTitle">Network Solutions</h3>
              </div>
              <nav>
                <ul class="navBar">
                  <li><a href="#">About |</a></li>
                  <li><a href="#">Portfolio |</a></li>
                  <li><a href="#">Contact</a></li>
                </ul>
              </nav>
            </div>
          </header>
    
          <section id="showcase">
          <div class="heroImg">
            <div class="container">
    
            </div>
          </div>
          </section>
    
     </body>
     </html>
    

    CSS:

    /* MAIN STYLES */
    .container {
      max-width: 60%;
      margin: 0 auto;
    }
    
    /* HEADER */
    header {
      height: 100px;
      border-bottom: 2px solid black;
      border-top: 2px solid black;
    }
    
    .brand {
      float: left;
      display: inline;
      margin-top: 20px;
    }
    
    .brandImg {
      height: 4em;
      width: 4em;
      float: left;
      margin-bottom: 5px;
    }
    
    .mainTitle {
      font-family: 'IBM Plex Mono', monospace;
      line-height: 1.2em;
      position: relative;
      left:8px;
      top: -5px;
    }
    
    /* MAIN NAVIGATION */
    ul {
      float: right;
    }
    
    li {
      margin-top: 15px;
      float: left;
      display: inline;
      font-size: 40px;
      padding-left: 15px;
    }
    
    a {
      color: #000;
      text-decoration: none;
    }
    
    a:hover {
      color: gray;
    }
    
    /* HERO SECTION */
    #showcase {
      width: 100%;
      height: 100%;
    }
    
    .heroImg {
      background-image: url("https://photos-1.dropbox.com/t/2/AADgiVKPX---q_yzz3R6QXjMuvUF9x1suRGMjLMV8QkZVQ/12/184045382/jpeg/32x32/1/_/1/2/hero.jpeg/EKPi4YsBGMICIAIoAg/-UTK8zUqda_wA3F-VrZAdIZvo84OHHGWCbLEcdCi1K8?size=1600x1200&size_mode=3");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
    }
    

    Codepen link

    1 回复  |  直到 6 年前
        1
  •  0
  •   BSK    6 年前

    笔中的徽标图像出现403错误。一般来说,您可以使用以下CSS使图像响应:

    img {
        display: inline-block;
        max-width: 50px; /* Width of your image */
        max-height: 50px; /* Height of your image */
        width: 100%;
        height: auto;
    }
    

    下面是一个JSFIDLE示例。拖动窗口以查看图像的反应。

    img {
            display: inline-block;
            max-width: 650px;
            max-height: 250px;
            width: 100%;
            height: auto;
        }
    <img src="http://via.placeholder.com/650x250" alt="Stack Overflow Test Image" />

    下面是另一个使用Flexbox使图像相对于另一个元素作出响应的示例:

    #test {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
    }
    img {
      display: inline-block;
      max-width: 250px;
      max-height: 150px;
      width: 100%;
      height: auto;
    }
    h1 {
      margin-left: 15px;
      -webkit-flex: none;
      -ms-flex: none;
      flex: none;
    }
    <div id="test">
      <div id="logo">
        <img src="http://via.placeholder.com/250x150" alt="Stack Overflow Test Image" />
      </div>
      <h1>This is a Test Title</h1>
    </div>