Фоновые градиентные проблемы - PullRequest
1 голос
/ 17 мая 2019

Я пытаюсь сделать градиентный фон для моего сайта. Не могли бы вы мне помочь? Я изучаю CSS / HTML прямо сейчас. Поэтому фон должен иметь градиент от красного до желтого. Я жду вашего ответа c;

Это для моего личного сайта

body {
  background-image: linear-gradient(to bottom, red, yellow);
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#card {
  position: relative;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .5);
  background-color: #ffffff;
  padding: 75px;
  border-radius: 35px 35px;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

#card:hover {
  box-shadow: 0 25px 50px black;
}

#person {
  background-image: linear-gradient(to bottom, #c94370, #3a679a);
  font-size: 67px;
  font-size-adjust: 0.58;
  font-family: 'Open Sans', bold;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#profile {
  display: block;
  height: 320px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 100% 100%;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.5);
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

#profile:hover {
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}

#mail {
  display: block;
  border: 5px solid #303030;
  font-family: 'Open Sans', bold;
  border-radius: 15px 15px;
  background-color: #ffffff;
  padding: 15px 42px;
  font-size: 36px;
  color: #303030;
  text-align: center;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  margin-left: auto;
  margin-right: auto;
}

#mail:hover {
  color: white;
  background-color: #303030;
}
<!DOCTYPE html>
<html>

<head>
  <title>Hello World</title>
  <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&display=swap" rel="stylesheet">
  <link rel="shortcut icon" href="oskar.png" type="image/png" />
  <link rel="icon" href="oskar.png" type="image/png" />
  <link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>
  <div id="card">
    <img src="oskar.png" id="profile"> <br>
    <b id="person">Oskar </b><br><br>
    <button id="mail" onclick="window.location.href='mailto:mail@mail.mail?subject=Die%20Website%20ist%20krass'">E-Mail</button>
  </div>
</body>

</html>

я ожидаю градиентный фон красного и желтого

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Ваш CSS должен выглядеть так:

body {
  background-image: linear-gradient(to bottom, red, yellow);
  background-repeat: no-repeat;
  background-attachment: fixed;
  position: static;
}

#card {
  position: relative;
  width: 300px;
  height: 500px;
  margin: auto;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .5);
  background-color: #ffffff;
  padding: 75px;
  border-radius: 35px 35px;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

позиция: абсолютный портит отображение вашего фона. Это позиционирует элемент относительно его родителя. Так как родительский элемент body является html-тегом, я не слишком уверен, где это позиционирует тело, но это не то место, где вы захотите его.

Смотрите здесь: https://www.w3schools.com/css/css_positioning.asp

Вы также не должны описывать расположение внутри тела, поскольку все, что вы помещаете внутрь него, будет пытаться находиться на 50% от верха и левого угла. То же самое с преобразованием. Эти стили должны быть добавлены к фактическому элементу вашего стиля.

background-repeat: no-repeat, background-attachment: fixed и position: static гарантирует, что градиент подгоняется под размер окна и не вызывает ошибок.

Вы можете видеть, как я добавил стили высоты, ширины и поля для класса вашей карты.

https://jsfiddle.net/AnthrOne/1guch73d/14/

0 голосов
/ 17 мая 2019

Я бы проверил эту ссылку Кажется, есть то, что вы ищете. Я думаю, так как по умолчанию сверху вниз, что «снизу» часть в вашем коде может быть причиной проблемы?

Я проверил это здесь по этой ссылке , и она, кажется, работает в любом случае (с или без "до дна").

...