заполнение элемента div цветом фона и удаление пробела между div - PullRequest
0 голосов
/ 24 апреля 2020

Я новичок в HTML / CSS, и я хотел бы создать простой профиль для моего проекта в школе. Как я могу сделать что-то вроде этого изображения: Проблема

Я хочу избавиться от проблем, которые я объясняю на изображении. Я застрял, делая и меняя свой css, так как это всего лишь css проблема. Вот то, что я сделал:

<div class="wrapper">
      <div class="box-nav">
            <nav class="navbar navbar-expand-lg">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-content" aria-controls="navbar-content" aria-expanded="false" aria-label="toggle-navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
              <div class="collapse navbar-collapse" id="navbar-content">
                <ul class="navbar-nav">
                  <li class="nav-item">
                    <a class="nav-link" href="#">Home</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Welcome</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Blog</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Contact</a>
                  </li>
                </ul>
              </div>
            </nav>
            <div class="border">
                <div class="box-1"></div>
                <div class="box-2"></div>
            </div>              
      </div>
      <div class="box-particle">
        <div id="particles-js">
            <h1>Hello, </h1>                
        </div>          
      </div>



      <div class="box">

      </div>
      <div class="box">

      </div>
</div>

Вот мой CSS:

*{
  box-sizing: border-box;
}

.wrapper{
  background-color: #ccc;
  width: 500px;
  margin: 0
  padding: 0;
  width: 100%;
}

.box{
  float: left;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;  
}
.navbar {
  background-color:#000;
  display: inline-block;  
  width: 100%;  
  height: 10vh;
}
nav {
  height: 10vh;  
}
.navbar-nav {
  margin:auto;
}
.nav-link {
  margin:10px 25px;
  color:#fff;
}
.nav-link:hover {
  color:yellow;
}
.border {
  width:100%;
  height:25px;  
  float: left;  
  top: -2px;
  margin:0;  
  background-color:transparent;
  position:relative;    
  z-index: 1;
}
.box-1 {  
  width:50%;  
  height:100%;
  border-radius:0px 40px 0px 0px;
  border-top:5px solid yellow;
  border-right:5px solid yellow;   
}
.box-2 {
  position:absolute;  
  height:100%;
  width:50%;
  right:0;
  top:0;
  border-radius:40px 0px 0px 0px;
  border-top:5px solid yellow;
  border-left:5px solid yellow;  
}
.box-nav{
  float: left;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;  
  position: fixed;
  z-index: 2;
}

.box-particle{    
  position: absolute;
  top:9vh;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;  
}
#particles-js {
  position: relative;   
  /*background-image: linear-gradient(rgb(0,0,0,0.5), rgba(0,0,0,0.5)),url(background.jpg);*/
  /*background-color: rgb(0,0,0,0.5);*/
  background-color: blue;
  height: 105vh;  
  background-size: cover;
  background-position: center;
  margin:0;
  float: left;
  padding: 0;
  width: 100%;
}
#particles-js h1 {
  position: relative;
  top:47%;
  color:yellow;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.3);
  margin:0;
  padding:0;
}
canvas {
  display: block;
  vertical-align: bottom;
  height: 90vh !important;  
  width: 100% !important;
  background-attachment:fixed;
}

Ответы [ 3 ]

0 голосов
/ 24 апреля 2020

Просто увидев ваши классы, я предположил, что вы используете bootstrap 4, и вот вам желаемый результат.

не используйте слишком много абсолютных позиций. используйте его при необходимости.

, чтобы проверить желаемый результат, просто откройте его на большом экране, так как вы использовали свернуть LG в своем коде,

*{
  box-sizing: border-box;
}

.wrapper{
  background-color: #ccc;
  width: 500px;
  margin: 0
  padding: 0;
  width: 100%;
}

.box{
  float: left;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;  
}
.navbar {
  background-color:#000;
  display: inline-block;  
  width: 100%; 
  padding-bottom: 25px;
}

.navbar-nav {
  margin:auto;
}
.nav-link {
  margin:10px 25px;
  color:#fff;
}
.nav-link:hover {
  color:yellow;
}
.border {
     width: 100%;
    height: 25px;
    bottom: 0;
    margin: 0;
    background-color: #000;
    position: absolute;
    z-index: 1;
  display: flex;
  border: 0 !important;
}
.box-1 {  
  width:50%;  
  height:100%;
  border-radius:0px 40px 0px 0px;
  border-top:5px solid yellow;
  border-right:5px solid yellow;   
}
.box-2 {
  position:absolute;  
  height:100%;
  width:50%;
  right:0;
  top:0;
  border-radius:40px 0px 0px 0px;
  border-top:5px solid yellow;
  border-left:5px solid yellow;  
}
.box-nav{
  float: left;
  margin: 0px;
  background-color: #000;
  width: 100%;  
  position: fixed;
  z-index: 2;
}

.box-particle{    
  position: absolute;
  top:9vh;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;  
}
#particles-js {
  position: relative;   
  /*background-image: linear-gradient(rgb(0,0,0,0.5), rgba(0,0,0,0.5)),url(background.jpg);*/
  /*background-color: rgb(0,0,0,0.5);*/
  background-color: blue;
  height: 105vh;  
  background-size: cover;
  background-position: center;
  margin:0;
  float: left;
  padding: 0;
  width: 100%;
}
#particles-js h1 {
  position: relative;
  top:47%;
  color:yellow;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.3);
  margin:0;
  padding:0;
}
canvas {
  display: block;
  vertical-align: bottom;
  height: 90vh !important;  
  width: 100% !important;
  background-attachment:fixed;
}

@media(max-width:991px){
  .box-nav .border {display: none;}
}
<link rel="stylesheet" href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.0/css/bootstrap.min.css'>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.0/js/bootstrap.min.js"></script>
<div class="wrapper">
      <div class="box-nav">
            <nav class="navbar navbar-dark navbar-expand-lg">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-content" aria-controls="navbar-content" aria-expanded="false" aria-label="toggle-navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
              <div class="collapse navbar-collapse" id="navbar-content">
                <ul class="navbar-nav">
                  <li class="nav-item">
                    <a class="nav-link" href="#">Home</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Welcome</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Blog</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Contact</a>
                  </li>
                </ul>
              </div>
            </nav>
            <div class="border">
                <div class="box-1"></div>
                <div class="box-2"></div>
            </div>              
      </div>
      <div class="box-particle">
        <div id="particles-js">
            <h1>Hello, </h1>                
        </div>          
      </div>



      <div class="box">

      </div>
      <div class="box">

      </div>
</div>
0 голосов
/ 24 апреля 2020

Мое предложение состоит из четырех этапов:

  1. Добавить CSS правило .navbar {margin:auto;}
  2. Удалить top: -2px из класса .border
  3. Измените цвет фона класса .border на #000000
  4. Измените цвет границы класса .border на #000000. Если вы действительно используете Bootstrap 4, для этого шага требуется более конкретное c правило для переопределения стиля по умолчанию Bootstrap, поэтому оно будет выглядеть так:

    .wrapper .box-nav .border {
        border: 1px solid #000000 !important;
    }
    
0 голосов
/ 24 апреля 2020

Вы можете сделать трюк, просто играя с цветами. Он не будет удалять высоту контейнера со стрелкой, но может выглядеть так, как вы хотите. Пример:

* {
  box-sizing: border-box;
}

.wrapper {
  background-color: #ccc;
  width: 500px;
  margin: 0;
  padding: 0;
  width: 100%;
}

.box {
  float: left;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;
}

.navbar {
  background-color: #000;
  display: inline-block;
  width: 100%;
  height: 10vh;
}

nav {
  height: 10vh;
}

.navbar-nav {
  margin: auto;
}

.nav-link {
  margin: 10px 25px;
  color: #fff;
}

.nav-link:hover {
  color: yellow;
}

.myBorder {
  width: 100%;
  height: 25px;
  float: left;
  top: -2px;
  margin: 0;
  margin-bottom:-2px;
  background-color: transparent;
  background-color:black;
  position: relative;
  z-index: 1;
}

.box-1 {
  width: 50%;
  height: 100%;
  border-radius: 0px 40px 0px 0px;
  border-top: 5px solid yellow;
  border-right: 5px solid yellow;
  background-color:blue;
}

.box-2 {
  position: absolute;
  height: 100%;
  width: 50%;
  right: 0;
  top: 0;
  border-radius: 40px 0px 0px 0px;
  border-top: 5px solid yellow;
  border-left: 5px solid yellow;
  background-color:blue;
}

.box-nav {
  float: left;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;
  position: fixed;
  z-index: 2;
}

.box-particle {
  position: absolute;
  top: 9vh;
  margin: 0px;
  background-color: #f1f1f1;
  width: 100%;
}

#particles-js {
  position: relative;
  /*background-image: linear-gradient(rgb(0,0,0,0.5), rgba(0,0,0,0.5)),url(background.jpg);*/
  /*background-color: rgb(0,0,0,0.5);*/
  background-color: blue;
  height: 105vh;
  background-size: cover;
  background-position: center;
  margin: 0;
  float: left;
  padding: 0;
  width: 100%;
}

#particles-js h1 {
  position: relative;
  top: 47%;
  color: yellow;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.3);
  margin: 0;
  padding: 0;
}

canvas {
  display: block;
  vertical-align: bottom;
  height: 90vh !important;
  width: 100% !important;
  background-attachment: fixed;
}
<div class="wrapper">
      <div class="box-nav">
            <nav class="navbar navbar-expand-lg">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar-content" aria-controls="navbar-content" aria-expanded="false" aria-label="toggle-navigation">
              <span class="navbar-toggler-icon"></span>
            </button>
              <div class="collapse navbar-collapse" id="navbar-content">
                <ul class="navbar-nav">
                  <li class="nav-item">
                    <a class="nav-link" href="#">Home</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">About</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Welcome</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Blog</a>
                  </li>
                  <li class="nav-item">
                    <a class="nav-link" href="#">Contact</a>
                  </li>
                </ul>
              </div>
            </nav>
            <div class="myBorder">
                <div class="box-1"></div>
                <div class="box-2"></div>
            </div>              
      </div>
      <div class="box-particle">
        <div id="particles-js">
            <h1>Hello, </h1>                
        </div>          
      </div>



      <div class="box">

      </div>
      <div class="box">

      </div>
</div>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

Я добавил черный фон для элемента .border, а синий - для элементов .box-1 и .box-2. Регулировка некоторых параметров для удаления белой рамки поможет.

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