Как поместить текст поверх моих фоновых изображений navbar? - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь поместить текст поверх моей панели навигации, но где бы я ни размещал текст, такой как "Домой", он отображается ниже или поверх моей фактической панели навигации.

это выглядит так мой сайт

И вот как я хочу, чтобы он выглядел

, а это мой html код

  <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, inital-scale=1.0">
    <meta http-equiv="X-AU-Compatible" content="ie=edge">
    <title>Main page</title>
    <link rel="stylesheet" href="style.css">
    <script src="https://kit.fontawesome.com/f96187f2fa.js" crossorigin="anonymous"></script>
</head>
<body>
    <div class="container">
        <nav class="main-nav">
            <ul>
                <li>
                    <img src="nav_image.png" alt="">
                </li>
                <li>
                    <img src="nav_image.png" alt="" >
                </li>
                <li>
                    <img src="nav_image.png" alt="" >
                </li>
                <li>
                    <img src="nav_image.png" alt="" >
                </li>
            </ul>
        </nav>
    </div>

</body>
</html>

И это мой css код

html {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

body {
  background: #D0FEFE;
  margin: 30px 50px;
  line-height: 1.4;
}

.main-nav ul {
  display: grid;
  grid-gap: 20px;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(4, 1fr);
}

.main-nav a {
  text-decoration: none;
  padding: 0.8rem;
  text-align: center;
  text-transform: uppercase;
  font-size: 1.1rem;

}



.main-nav img {
width: 250px;
}

Ответы [ 3 ]

0 голосов
/ 31 марта 2020

1) Как видите, в вашем файле HTML вообще нет ссылок, только изображения. Поэтому, прежде всего, вставьте нужную ссылку в каждый элемент списка.

<li> <a href="link"> Home </a></li>

Здесь вы можете узнать, как работать со ссылками https://www.w3schools.com/tags/tag_link.asp

Вместо поместив изображения в качестве элементов в HTML, вставьте их в качестве фона элементов списка в CSS.

ul li{
background-image: url("Your image");
}

Вы можете манипулировать размером фона так, как хотите. Просто следуйте этим инструкциям https://www.w3schools.com/cssref/pr_background-image.asp

0 голосов
/ 31 марта 2020

Я добавил два селектора CSS: box и textbox. box -div для каждого изображения и textbox -div под каждым изображением для текста над изображением.

Посмотрите на пример:

html {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
}

body {
  background: #D0FEFE;
  margin: 30px 50px;
  line-height: 1.4;
}

.main-nav ul {
  display: grid;
  grid-gap: 20px;
  padding: 0;
  list-style: none;
  grid-template-columns: repeat(4, 1fr);
}

.main-nav a {
  text-decoration: none;
  padding: 0.8rem;
  text-align: center;
  text-transform: uppercase;
  font-size: 1.1rem;

}

.main-nav img {
width: 250px;
}


.box{
        position: relative;
        display: inline-block; /* Make the width of box same as image */
}

.textbox{
        position: absolute;
        z-index: 999;
        margin: 0 auto;
        left: 0;
        right: 0; 
        text-align: center;       
        top: 40%; /* Adjust this value to move the positioned div up and down */
        font-family: Arial,sans-serif;
        color: white;
        width: 60%; /* Set the width of the positioned div */
}
   <div class="container">
        <nav class="main-nav">
            <ul>
                <div class="box">
                	<li>
                    	<img src="https://d3s5n6bbhxr3im.cloudfront.net/wp-content/uploads/2017/07/1d-1030x786.jpg" alt="">
						<div class="textbox">
	                    	<b>Home</b>
                    	</div>
					</li>
                </div>
                <div class="box">
                	<li>
                    	<img src="https://d3s5n6bbhxr3im.cloudfront.net/wp-content/uploads/2017/07/1d-1030x786.jpg" alt="">
						<div class="textbox">
	                    	<b>About</b>
                    	</div>
					</li>
                </div>
                <div class="box">
                	<li>
                    	<img src="https://d3s5n6bbhxr3im.cloudfront.net/wp-content/uploads/2017/07/1d-1030x786.jpg" alt="">
						<div class="textbox">
	                    	<b>Services</b>
                    	</div>
					</li>
                </div>
                <div class="box">
                	<li>
                    	<img src="https://d3s5n6bbhxr3im.cloudfront.net/wp-content/uploads/2017/07/1d-1030x786.jpg" alt="">
						<div class="textbox">
	                    	<b>Contact</b>
                    	</div>
					</li>
                </div>
            </ul>
        </nav>
    </div>

Я надеюсь, что пример, как вы себе это представляли

0 голосов
/ 31 марта 2020

Возможно, вы хотите использовать свойство CSS с именем z-index. Вы можете найти больше информации о том, как использовать z-index в w3schools , и у них также есть полезная демо .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...