css - 如何为左侧和右侧设置两种不同颜色的标题
问题描述
标题左侧和右侧应显示白色和蓝色,而正文背景色为灰色。
左侧区域为白色,顶部带有徽标,右侧区域为蓝色。
使用 colorzilla,我container1
为右侧的水平半蓝色制作了背景。然后我加入了一些用于剃刀刀片效果的伪元素。当我设置background-color
body 时,我意识到标题内带有我的徽标的区域用正文颜色着色。
我读到了linear-gradien
t 但有人告诉我,使用它我会面临跨浏览问题,因为即使你按照它应该的方式进行操作,仍然有一个版本列表,甚至是不理解它的浏览器。
这正是我发现自己陷入困境的地方。在这种情况下,我需要所有浏览器和版本都理解此代码或尽可能多地理解此代码。请告诉我如何在不使用 Colorzilla 和linear-gradient
.
@media only screen and (min-width: 900px) {
.container1 {
width: 100%;
margin: 0 auto;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+44,1e5799+44,7db9e8+45,1e5799+45,7db9e8+46,7db9e8+46,7db9e8+46,7db9e8+46,7db9e8+46,7db9e8+46,1e5799+46,7db9e8+50,1e5799+50,1e5799+100&0+44,0+46,1+47 */
background: -moz-linear-gradient(left, rgba(30, 87, 153, 0) 44%, rgba(30, 87, 153, 0) 45%, rgba(30, 87, 153, 0) 46%, rgba(30, 87, 153, 1) 47%, rgba(30, 87, 153, 1) 50%, rgba(30, 87, 153, 1) 100%);
/* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(30, 87, 153, 0) 44%, rgba(30, 87, 153, 0) 45%, rgba(30, 87, 153, 0) 46%, rgba(30, 87, 153, 1) 47%, rgba(30, 87, 153, 1) 50%, rgba(30, 87, 153, 1) 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(30, 87, 153, 0) 44%, rgba(30, 87, 153, 0) 45%, rgba(30, 87, 153, 0) 46%, rgba(30, 87, 153, 1) 47%, rgba(30, 87, 153, 1) 50%, rgba(30, 87, 153, 1) 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e5799', endColorstr='#1e5799', GradientType=1);
/* IE6-9 */
}
.logo {
width: 250px;
}
header {
display: flex;
justify-content: space-between;
padding: 0em 3.15em;
}
.cont {
position: relative;
}
.cont::before {
position: absolute;
content: '';
width: 40em;
height: 15rem;
background: blue;
bottom: -.8em;
z-index: -1;
}
.cont::before {
left: 42%;
transform: skew(-30deg);
}
.cont::after {
position: absolute;
content: '';
width: 1.6em;
height: 10rem;
background: green;
bottom: -.8em;
}
.cont::after {
left: 38.9%;
transform: skew(-30deg);
}
<div class="container1">
<div class="cont">
<header>
<img src="/images/logo.png" alt="O-Credit logo" class="logo">
<nav>
<div id="menu-bar" class="hide-desk">
<div class="menu" id="menu">
<div id="bar1" class="bar"></div>
<div id="bar2" class="bar"></div>
<div id="bar3" class="bar"></div>
</div>
</div>
<ul class="show-desk hide-mob" id="nav">
<li id="exit" class="exit-btn close hide-desk">
</li>
<li><a href="#">Обрати позику</a></li>
<li><a href="#">Компанії</a></li>
<li><a href="#">Види позик</a></li>
<li><a href="#">Блог</a></li>
<li></li>
</ul>
</nav>
</header>
</div>
</div>
带有徽标的标题左侧显示背景白色。同一标题的右侧显示背景蓝色。并将 Body 设置为在除标题之外的所有地方显示背景灰色。
解决方案
.header {
display: flex;
justify-content: space-between;
padding: 0em 3.15em;
background: linear-gradient(to right, blue 50%, red 50%)
}
推荐阅读
- css - 预定义样式不会改变
- javascript - 全局更改默认超时或仅用于一个测试的好习惯是什么?摩卡
- javascript - Vue:从数组中删除第一个元素并对其进行迭代
- java - 如何使用 Spring Boot 和 Java 库在谷歌上创建操作
- python - 填写每组行的数据框值
- html - 即使为 vue.js 设置了规则,也会在循环中调用许多 axios
- c++ - 当帧中有蓝色时,图像处理失败。可能是什么原因?
- c# - 如何使用 linq 用逗号和冒号分隔字符串?
- typescript - typescript 可选的索引器类型,返回相同的类型
- javascript - Javascript对象数组未显示在反应js中使用地图的预期值