如何为网站的背景着色两种不同的颜色?
How color the background of website two different colors?
这是一个很难表述的问题,所以我附上了我在 Pages (Mac) 中制作的网站设计的屏幕截图 - 我做到了因此,通过使用不同颜色的块并将它们堆叠在一起,以创建可以在第一个屏幕截图中看到的所需效果。
我的问题是:我如何模拟这个,HTML中的不同颜色背景?
我尝试使用 CSS 中的 HTML 标签对填充进行不同的着色(HTML
{ padding: 10%; background-color: #ebecef; }
) 但我没能完全概括我的梦想。我试图制作 divs(因为它们是 'block tags')并用不同的颜色给它们上色,但它没有用。
Pages Screenshot example
High Contrast Screenshot example
高对比度页面描述:蓝色将是基本背景颜色,橙色将是 inset/overlay,粉红色将是 div 导航栏,但其颜色与 inset/overlay 如第一张图片所示。
尝试澄清:如何创建不同颜色的块并将它们转换到特定位置,或者为背景颜色创建一种双色调效果这是 'inseted' 本身或叠加 (以最简单或有效的为准)就像图片中看到的那样(灰色是基色,白色是inseted/overlayed.)?
的附加颜色
我真的希望我解释得足够好,如果您能提供帮助,我们将不胜感激,
DeSept
在非常基本的层面上,您可以使用嵌套 div 来实现这一点,结合 css position
属性 和 top
设置宽度和高度,left
css 属性。如下所示:
<div style="width: 100vw;height: 100vh;background-color: blue;position: relative;">
<div style="height: inherit; width: inherit;">
<div style="width: 100%; height: 80px;margin-right: 20%">
<div style="width: 340px; height: 80px; background-color: green; float: right;margin-right: 10%">
</div>
</div>
<div style="width: 80%;height: 80%;background-color: yellow;margin: auto auto;">
<h1 style="position: absolute; top: 40px;left:120px">Lorem Ipsum</h1>
</div>
</div>
沙盒:
https://codesandbox.io/s/optimistic-voice-zgt9k?file=/index.html:0-830
但是,这个解决方案没有响应,而且非常基础;作为替代方案,您可以查看 CSS Grid 或 Flexbox 以实现您在附加图像中寻找的布局。
CSS弹性框:
https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox
CSS 网格:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout
我试着重画了你的照片。这不一样,但你可以使用我的风格来实现你的目标。我将 Nav 用作 div
,但互联网上有很多更好的 Nav 示例,例如 Bootstrap NAV。这不是响应式的,那么你必须在那里添加 @media
css,也许使用折叠导航栏。
body{
background-color: blue;
}
.Center80{
margin: 0 auto;
width: 80vw;
}
.Menu{
height: 20px;
width: 30vw;
margin-right: 0;
background-color: #a119aa;
}
.SecondColor{
background-color: orange;
min-height: 100vh;
}
.SecondColor h1 {
transform: translate(0px,-13px);
color: white;
font-size: 25px;
}
<html>
<body>
<div class="Center80 Nav" align="right">
<div class="Menu">
Menu
</div>
</div>
<div class="SecondColor Center80">
<h1>LOREM IPSUM</h1>
</div>
</body>
特别是考虑到响应式设计时,我会用网格来做。您只需要 3 个框,就可以使标题与偏移量发生冲突或更正填充。只需确保将 z-index 设置为将其推到前面即可。
body {
background-color: lightgrey;
display: grid;
grid-template-columns: 30px 40% auto 30px;
grid-template-rows: 48px auto;
margin: 0 0 0 0;
padding: 0 0 0 0;
font-size: 16px;
}
#title {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
background-color: transparent;
text-align: center;
padding-top: 38px;
z-index: 1;
font-size: 20px;
}
#menu {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 2;
background-color: orange;
text-align: center;
padding-top: 16px;
}
#content {
grid-column-start: 2;
grid-column-end: 4;
grid-row-start: 2;
grid-row-end: -1;
background-color: yellow;
min-height: 100vh;
padding: 10px 10px 10px 10px;
}
<body>
<div id="title">Title</div>
<div id="menu">Menu Link</div>
<div id="content">
<p>Random text content...</p>
</div>
</body>
如果您希望两种颜色混合或混合,您也可以使用 linear-gradient 语法,具体取决于颜色之间是硬线还是软线。在此处了解更多信息:https://www.w3schools.com/css/css3_gradients.asp
语法示例如下:
#grad { background-color: linear-gradient(-90deg, red, yellow); }
这是一个很难表述的问题,所以我附上了我在 Pages (Mac) 中制作的网站设计的屏幕截图 - 我做到了因此,通过使用不同颜色的块并将它们堆叠在一起,以创建可以在第一个屏幕截图中看到的所需效果。
我的问题是:我如何模拟这个,HTML中的不同颜色背景?
我尝试使用 CSS 中的 HTML 标签对填充进行不同的着色(HTML
{ padding: 10%; background-color: #ebecef; }
) 但我没能完全概括我的梦想。我试图制作 divs(因为它们是 'block tags')并用不同的颜色给它们上色,但它没有用。
Pages Screenshot example
High Contrast Screenshot example
高对比度页面描述:蓝色将是基本背景颜色,橙色将是 inset/overlay,粉红色将是 div 导航栏,但其颜色与 inset/overlay 如第一张图片所示。
尝试澄清:如何创建不同颜色的块并将它们转换到特定位置,或者为背景颜色创建一种双色调效果这是 'inseted' 本身或叠加 (以最简单或有效的为准)就像图片中看到的那样(灰色是基色,白色是inseted/overlayed.)?
的附加颜色我真的希望我解释得足够好,如果您能提供帮助,我们将不胜感激,
DeSept
在非常基本的层面上,您可以使用嵌套 div 来实现这一点,结合 css position
属性 和 top
设置宽度和高度,left
css 属性。如下所示:
<div style="width: 100vw;height: 100vh;background-color: blue;position: relative;">
<div style="height: inherit; width: inherit;">
<div style="width: 100%; height: 80px;margin-right: 20%">
<div style="width: 340px; height: 80px; background-color: green; float: right;margin-right: 10%">
</div>
</div>
<div style="width: 80%;height: 80%;background-color: yellow;margin: auto auto;">
<h1 style="position: absolute; top: 40px;left:120px">Lorem Ipsum</h1>
</div>
</div>
沙盒: https://codesandbox.io/s/optimistic-voice-zgt9k?file=/index.html:0-830
但是,这个解决方案没有响应,而且非常基础;作为替代方案,您可以查看 CSS Grid 或 Flexbox 以实现您在附加图像中寻找的布局。
CSS弹性框: https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox
CSS 网格: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout
我试着重画了你的照片。这不一样,但你可以使用我的风格来实现你的目标。我将 Nav 用作 div
,但互联网上有很多更好的 Nav 示例,例如 Bootstrap NAV。这不是响应式的,那么你必须在那里添加 @media
css,也许使用折叠导航栏。
body{
background-color: blue;
}
.Center80{
margin: 0 auto;
width: 80vw;
}
.Menu{
height: 20px;
width: 30vw;
margin-right: 0;
background-color: #a119aa;
}
.SecondColor{
background-color: orange;
min-height: 100vh;
}
.SecondColor h1 {
transform: translate(0px,-13px);
color: white;
font-size: 25px;
}
<html>
<body>
<div class="Center80 Nav" align="right">
<div class="Menu">
Menu
</div>
</div>
<div class="SecondColor Center80">
<h1>LOREM IPSUM</h1>
</div>
</body>
特别是考虑到响应式设计时,我会用网格来做。您只需要 3 个框,就可以使标题与偏移量发生冲突或更正填充。只需确保将 z-index 设置为将其推到前面即可。
body {
background-color: lightgrey;
display: grid;
grid-template-columns: 30px 40% auto 30px;
grid-template-rows: 48px auto;
margin: 0 0 0 0;
padding: 0 0 0 0;
font-size: 16px;
}
#title {
grid-column-start: 2;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
background-color: transparent;
text-align: center;
padding-top: 38px;
z-index: 1;
font-size: 20px;
}
#menu {
grid-column-start: 3;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 2;
background-color: orange;
text-align: center;
padding-top: 16px;
}
#content {
grid-column-start: 2;
grid-column-end: 4;
grid-row-start: 2;
grid-row-end: -1;
background-color: yellow;
min-height: 100vh;
padding: 10px 10px 10px 10px;
}
<body>
<div id="title">Title</div>
<div id="menu">Menu Link</div>
<div id="content">
<p>Random text content...</p>
</div>
</body>
如果您希望两种颜色混合或混合,您也可以使用 linear-gradient 语法,具体取决于颜色之间是硬线还是软线。在此处了解更多信息:https://www.w3schools.com/css/css3_gradients.asp
语法示例如下:
#grad { background-color: linear-gradient(-90deg, red, yellow); }