如何修复导航栏中的img不缩放

时间:2019-03-25 03:23:07

标签: html css

我正在尝试创建一个小型网站,并希望在导航栏中放置图片(徽标,正方形,svg)。我希望徽标适合导航栏,但是无论我如何尝试,徽标都无法缩放。

我尝试过将div的图像浮动在左侧,导航栏在右侧,但仍无法缩放。真令人沮丧。

这是问题的图像: enter image description here

这是我的代码(对不起,很乱):

@import url('https://fonts.googleapis.com/css?family=Montserrat');
.heading {
  display: inline-block;
  font-family: "Montserrat";
  font-weight: lighter;
  text-align: left;
  margin-left: 20vw;
  line-height: 30vw;
}

body {
  width: 100%;
  margin: auto;
  font-family: 'Montserrat', sans-serif;
  background-color: white;
}

.container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  margin-top: 30px;
  flex-flow: row wrap;
  margin-top: -10vw;
}

img {
  margin: 9px;
  transition: filter 0.2s;
  filter: brightness(100%);
  display: inline-block;
  min-height: 100px;
  height: 50vh;
}

img:hover {
  filter: brightness(80%);
}

.responsive:hover {}

header {
  position: relative;
  height: 50vh;
  background-image: linear-gradient(rgb(50, 50, 50), rgb(30, 30, 30));
  margin-top: -20px;
  transform: skewY(-5deg);
  transform-origin: top left;
}

.fullwidth {
  width: 100%;
}

.headertitle {
  margin-top: -36vh;
  margin-left: 12vw;
  position: absolute;
  font-size: calc(13px + 2.5vw);
  color: white;
  font-family: 'Montserrat';
  font-weight: lighter;
}


/* navbar */

nav {
  background: rgb(52, 52, 52);
  position: relative;
  z-index: 1;
  height: calc(18px + 6vh);
  box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.065);
  overflow: auto;
  width: 100vw;
}

nav ul {
  margin: 0;
  padding: 0;
  text-align: left;
  margin-left: 1.2vw;
}

nav ul li {
  display: inline-block;
  list-style: none;
  font-size: 1.2em;
  padding: 1vh;
}

.navul a {
  text-decoration: none;
  color: white;
  line-height: 5.5vh;
  height: 5.5vh;
  font-size: calc(15px + 0.25vh + 0.15vw);
}

.navuul a:visited,
a:link,
a:active {
  text-decoration: none;
  color: white;
  font-weight: 200;
  line-height: 5.5vh;
  height: 5.5vh;
}

.navuul a:hover {
  text-decoration: none;
  color: grey;
  font-weight: 200;
  line-height: 5.5vh;
  height: 5.5vh;
}

.submit {
  float: right;
  margin-right: 1.5vw;
}

.submit a {
  color: white;
  border-radius: 5px;
}

.navimg img {
  max-width: 100%;
  max-height: 20%;
}

.navimgdiv {
  height: 1.5vh;
}


/* navbar end */
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="pgallerystyles.css">
  <title> Photo Gallery </title>
  <link rel="shortcut icon" href="logo.ico">
</head>

<body>
  <div class="fullwidth">
  </div>
  <nav>
    <ul class="navul">
      <li>
        <div class="navimgdiv"><img class="navimg" src="logo.svg"></div><a href="#">Lumastock</a></li>
      <li><a href="#">Photos</a></li>
      <li><a href="#">Featured</a></li>
      <li><a href="#">Contact</a></li>
      <li><a href="#">Pricing</a></li>
      <li><a href="#">Assesment Requirements</a></li>
      <li class="submit"><a href="#">Submit a photo</a></li>
    </ul>
  </nav>
  <header>
  </header>
  <h1 class="headertitle">Image Gallery</h1>

谢谢!

1 个答案:

答案 0 :(得分:0)

仅在列表之外使用徽标。我为徽标图像添加了最大宽度。您可以根据需要自定义填充和边距。我希望此解决方案会有所帮助。

.heading {
    display: inline-block;
    font-family: "Montserrat";
    font-weight: lighter;
    text-align: left;
    margin-left: 20vw;
    line-height: 30vw;
}

body {
    width: 100%;
    margin: auto;
    font-family: 'Montserrat', sans-serif;
    background-color: white;
}

.container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    margin-top: 30px;
    flex-flow: row wrap;
    margin-top: -10vw;
}

img {
    /* margin: 9px;
  transition: filter 0.2s;
  filter: brightness(100%);
  display: inline-block;
  min-height: 100px;
  height: 50vh; */
    max-width: 100%;
}

img:hover {
    filter: brightness(80%);
}

.responsive:hover {}

header {
    position: relative;
    height: 50vh;
    background-image: linear-gradient(rgb(50, 50, 50), rgb(30, 30, 30));
    margin-top: -20px;
    transform: skewY(-5deg);
    transform-origin: top left;
}

.fullwidth {
    width: 100%;
}

.headertitle {
    margin-top: -36vh;
    margin-left: 12vw;
    position: absolute;
    font-size: calc(13px + 2.5vw);
    color: white;
    font-family: 'Montserrat';
    font-weight: lighter;
}


/* navbar */

nav {
    background: rgb(52, 52, 52);
    position: relative;
    z-index: 1;
    height: calc(40px + 6vh);
    box-shadow: 0 3px 3px -1px rgba(0, 0, 0, 0.065);
    overflow: auto;
    width: 100vw;
    display: flex;
}

nav ul {
    margin: 0;
    padding: 0;
    text-align: left;
    margin-left: 1.2vw;
}

nav ul li {
    display: inline-block;
    list-style: none;
    font-size: 1.2em;
    padding: 1vh;
}

.navul a {
    text-decoration: none;
    color: white;
    line-height: 5.5vh;
    height: 5.5vh;
    font-size: calc(15px + 0.25vh + 0.15vw);
}

.navuul a:visited,
a:link,
a:active {
    text-decoration: none;
    color: white;
    font-weight: 200;
    line-height: 5.5vh;
    height: 5.5vh;
}

.navuul a:hover {
    text-decoration: none;
    color: grey;
    font-weight: 200;
    line-height: 5.5vh;
    height: 5.5vh;
}

.submit {
    float: right;
    margin-right: 1.5vw;
}

.submit a {
    color: white;
    border-radius: 5px;
}

.navimgdiv img {
    max-width: 50px;
}

.navimgdiv {
    padding: 5px 0;
}
<div class="fullwidth"></div>
<nav>
    <a class="navimgdiv"><img src="https://cdn.worldvectorlogo.com/logos/react.svg"></a>
    <ul class="navul">
        <li><a href="#">Lumastock</a></li>
        <li><a href="#">Photos</a></li>
        <li><a href="#">Featured</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">Pricing</a></li>
        <li><a href="#">Assesment Requirements</a></li>
        <li class="submit"><a href="#">Submit a photo</a></li>
    </ul>
</nav>
<header></header>
<h1 class="headertitle">Image Gallery</h1>