【发布时间】:2018-02-28 18:46:17
【问题描述】:
有一个块,其中文本更接近结尾逐渐消失。这是使用::after 完成的,从透明色到背景色的linear-gradient。
最近注意到,在当前版本的浏览器中,一切都很好,除了 safari(在 11 版中,太糟糕了)。自动前缀不是解决方案(他在这里,不需要)。
我的代码:
* {
margin: 0;
padding: 0;
}
body {
display: flex;
min-height: 100vh;
}
p {
margin: auto;
width: 40vw;
height: 40vh;
max-width: 300px;
max-height: 300px;
overflow: hidden;
position: relative;
}
p::after {
content: '';
display: block;
position: absolute;
bottom: 0;
width: 100%;
height: 50%;
background-image: linear-gradient(transparent 0, white 100%);
}
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vel urna efficitur, tempor felis eu, lacinia sem. Nulla lacinia tincidunt turpis, faucibus luctus leo. Mauris lobortis orci lacus, vel luctus leo venenatis ac. Phasellus feugiat urna sit
amet nisi dapibus, a dignissim nibh dignissim. Suspendisse vel tempor nisl. Pellentesque hendrerit, nibh non vehicula finibus, turpis tellus auctor purus, ac placerat magna elit vel mauris. Nullam viverra venenatis enim. Vivamus odio lectus, maximus
quis dolor et, lobortis ullamcorper velit. Nulla fringilla ligula a metus faucibus commodo non ac lectus. Aenean bibendum arcu eu nibh convallis ornare.</p>
决定将transparent 替换为rgba(255,255,255,0)。但这是不正常的行为,在我看来是一种拐杖。
有什么想法吗?
【问题讨论】:
-
transparent过去曾等同于rgba(0, 0, 0, 0),现在显然还在 Safari 中。改用rgba(255, 255, 255, 0)更可靠。