背景渐变问题

时间:2019-05-17 18:32:16

标签: html css background gradient

我尝试为我的网站创建渐变背景。你能帮我么?我正在学习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 个答案:

答案 0 :(得分:1)

您的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标记,因此我不确定它在哪里放置body,但也不确定您要在哪里。

参见此处:https://www.w3schools.com/css/css_positioning.asp

您也不应该描述身体内部的定位,因为您放置在体内的所有内容都将尝试与顶部和左侧相距50%。与变换相同。这些样式应添加到要设置样式的实际元素中。

背景重复:不重复,背景附加:固定和位置:静态,可确保渐变调整到窗口大小并且不会出错。

您可以看到我如何将高,宽和边距样式添加到您的卡片类中。

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

答案 1 :(得分:0)

我会签出这个link 它似乎有您想要的东西。我认为由于默认值是自上而下的,因此代码中的“自下而上”部分可能会引起问题?

我在此处link对其进行了测试,它似乎可以两种方式工作(带有或不带有“到达底部”)。