gpt4 book ai didi

html - 使用 HTML5 和 CSS 创建多个背景并保持标记语义的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 13:39:27 25 4
gpt4 key购买 nike

使用 HTML5 和 CSS 创建多个背景并保持标记语义的最佳方法是什么?我意识到 CSS3 支持多种背景,但我也想使用渐变,并且对实际如何完成它感兴趣 - 而不仅仅是它的理论。

传统的方法可能是做这样的事情:

<div class="background-outer">
<div class="background-inner">
<article class="exiting-news">
<p>We'll talk about something exciting here</p>
</article>
<div>
</div>

我想要一种跨浏览器友好的方式来执行此操作,并且不涉及 Javascript 或 ASP.net/PHP 等中的任何编程工作

这可能只是使用更多语义类名的情况,但我很难过!

注意:可能已经有人回答了这个问题,但很难搜索,如果重复,请见谅!

最佳答案

这取决于它是个人元素还是客户。嵌套的 div 永远不会伤害任何人,它们在所有浏览器中都快速且可靠。如果是为其他人使用,请不要感到羞耻。

否则,您将不得不放弃对某些浏览器的支持。在 CSS 中使用多个背景是一种方法。我有时使用的第二个是,根据你有多少背景,position:relative 主 block ,position:absolute :before:after 元素来填充它并在它们上面设置背景。基本上可以在所有浏览器上正常运行。

编辑:

我使用的伪元素技巧的验证代码示例:

<!DOCTYPE html>
<html>
<head>
<title>Test page</title>
<style>
div:before {
background: -moz-linear-gradient(top, rgba(30,87,153,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6+ */
background: -webkit-linear-gradient(top, rgba(30,87,153,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */
}
div:after {
background: -moz-linear-gradient(left, rgba(239,47,47,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6+ */
background: -webkit-linear-gradient(left, rgba(239,47,47,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10+,Safari5.1+ */
}
div {background: url(http://www.google.co.uk/images/srpr/logo3w.png); position: relative; margin: 1em; min-height: 10em;}
div:after, div:before {content: " "; position: absolute; top: 0; left: 0; right: 0; bottom: 0;}
div > * {position: relative; z-index:1}
</style>
<div>
<h1>This div has three backgrounds</h1>
<p>Its content has to be wrapped, but that's not normally a 'semantic' problem.
</div>

关于html - 使用 HTML5 和 CSS 创建多个背景并保持标记语义的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com