如何使我的网站背景透明而不使内容(图像和文本)也透明?

Posted

技术标签:

【中文标题】如何使我的网站背景透明而不使内容(图像和文本)也透明?【英文标题】:How can I make my website's background transparent without making the content (images & text) transparent too? 【发布时间】:2012-01-23 20:34:10 【问题描述】:

我正在为一个学校项目做一个网站,我目前有一个小问题......我不能让身体的背景透明而不影响其中的内容。

这是我的 html 代码:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <title>text</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="head">
</div>
<div id="wrapper">
    <ul id="nav">
        <li><a href="index.htm">Inicio</a></li>
        <li><a href="sobre.htm">Sobre a banda</a></li>
        <li><a href="membros.htm">Membros</a></li>
        <li><a href="bilhetes.htm">Bilhetes</a></li>
        <li><a href="galeria.htm">Galeria</a></li>
        <li><a href="areapessoal.php">Área Pessoal</a></li>
    </ul>
    <h1><a href="index.htm"><img src="images/a7x-avenged-sevenfold-7050435-1024-831.jpg"    /></a></h1>
    <div id="body">
        <div id="bodyi">
            <div id="bodyj">
                <div id="sidebar">
                    <div class="content">
                        <h2>Galeria de imagens</h2>
                        <p>Aqui poderá encontrar uma galeria de imagens da banda, com fotos de concertos,
                        <img src="images/denmark.jpg"    />
                        entre outras imagens.</p>
                        <p class="readmore"><a href="galeria.htm">Ver</a></p>
                    </div>
                    <div class="content">
                        <h2>Noticias</h2>
                        <h3>18 de Abril, 2011</h3>
                        <h4>"So Far Away" vai ter videoclip</h4>
                        <p>Muitos se questionavam se o mais recente single dos Avenged Sevenfold, "So Far Away", ia ter direito a um videoclip. Eis que surge a boa notícia para os fãs dos A7X: So Far Away vai ter videoclip.
                        <img src="images/63781127.jpg"    />
                        Já foram divulgadas algumas fotos do set de filmagens.</p>
                        <h3>10 de Março, 2011</h3>
                        <h4>A7X nomeados para a Metal Hammer Golden Gods Awards 2011</h4>
                        <p>Os Avenged Sevenfold foram nomeados para a Metal Hammer Golden Gods Awards 2011 em duas categorias.
                        As categorias onde os A7X estão a participar são as seguintes:<p>
                        - Best International Band (Melhor Banda Internacional)<p>
                        - Best Shredder (com o Synyster Gates) (Melhor Shredder)</p>
                    </div>
                </div>
                <div id="content">
                    <center><img src="images/avengeds.jpg"    /></center>
                    <div class="content">
                        <h2>O album mais recente</h2>
                        <img src="images/nightmare.jpg"    class="left" />
                        <p>Os californianos Avenged Sevenfold estão de volta aos discos com "Nightmare". Solos de guitarra, vocalizações rasgadas e um som contagiante continuam a ser a base do sucesso de uma das bandas de heavy-metal com mais fãs no mundo inteiro. 
                        Fundados em 1999 por M. Shadows, Synyster Gates, Zacky Vengeance, Johnny Christ e The Rev - baterista que faleceu em Dezembro de 2009 passado e que foi substituido neste disco por Mike Portnoy, dos Dream Theater - os Avenged Sevenfold já contam com cinco discos de originais na sua carreira.</p>
                        <div class="divider"></div>
                        <h2>Musicas com maior sucesso</h2>
                        <table summary="track downloads" border="0" cellspacing="0">
                        <tr>
                            <th >Faixa</th>
                            <th>Album</th>
                            <th class="hidden">Dowload links</th>
                        </tr>
                        <tr>
                            <td>Bat Country</td>
                            <td>City of Evil</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=IHS3qJdxefY">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Beast and the Harlot</td>
                            <td>City of Evil</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=7bDg7n-chhU">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Seize the Day</td>
                            <td>City of Evil</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=jUkoL9RE72o">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Almost Easy</td>
                            <td>Avenged Sevenfold</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=Fi_GN1pHCVc">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Afterlife</td>
                            <td>Avenged Sevenfold</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=HIRNdveLnJI">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Nightmare</td>
                            <td>Nightmare</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=94bGzWyHbu0">Ouvir</a></td>
                        </tr>
                        <tr>
                            <td>Welcome to the Family</td>
                            <td>Nightmare</td>
                            <td class="download"><a href="http://www.youtube.com/watch?v=1OZs7IoWTvc">Ouvir</a></td>
                        </tr>
                        </table>
                    </div>
                </div>
                <div class="clear"></div>
            </div>
        </div>
    </div>
    <div align="right">
        <font size="2">text</font>
    </div>
</div>
</body>
</html>

这是 CSS 代码:

.head
    width: 150px;
    height: 160px;

body 
    font-family: tahoma, helvetica, arial, sans-serif;
    font-size: 12px;
    text-align: center;
    background: #000;
    color: #ddd4d4;
    padding-top: 12px;
    line-height: 2;
    background-image: url('images/background.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100%;
    opacity: 0.8;
    filter:alpha(opacity=80);

td, th 
    font-size: 12px;
    text-align: left;
    line-height: 2;

#wrapper 
    margin: auto;
    text-align: left;
    width: 832px;
    position: relative;
    padding-top: 27px;

#body 
     background: url(images/body_bg_1.gif) repeat-y;
     width: 832px;

#bodyi 
     background: url(images/body_top_1.gif) no-repeat;
     width: 832px;

#bodyj 
     background: url(images/body_bot_1.gif) bottom no-repeat;
     padding: 1px 0;
     
#body2 
     background: url(images/body_bg_2.gif) repeat-y;
     width: 832px;

#bodyi2 
     background: url(images/body_top_2.gif) no-repeat;
     width: 832px;

#bodyj2 
     background: url(images/body_bot_2.gif) bottom no-repeat;
     padding: 1px 0;

h1, h2, h3, #nav, #nav li 
    margin: 0; padding: 0;

#nav 
    font-size: 10px;
    position: absolute;
    right: 0;
    top: 12px;
    line-height: 1.2;
    padding-left: 120px;

#nav li 
    float: left;
    width: 108px;
    list-style: none;
    margin-left: 2px;
    border-bottom: 1px solid black;

#nav a 
    background: #738d09;
    color: #2e3901;
    font-weight: bold;
    text-decoration: none;
    display: block;
    text-align: center;
    padding: 1px 0;

#sidebar 
    float: left;
    width: 250px;
    padding-left: 4px;

#sidebar .content 
    padding-left: 24px;

#sidebar .content img 
    float: left;
    clear: left;
    margin: 5px 5px 5px 0;

#sidebar .divider 
    background: url(images/left_splitter.gif) center no-repeat;
    height: 5px;
    width: 169px;

#content 
    float: right;
    width: 462px;

#content1 
    float: left;
    width: 800px;

#content1 .content 
    margin: 7px 35px 7px 20px;
    padding-left: 20px;

#content .content 
    margin: 7px 55px 7px 17px;

#content .content table 
    width: 310px;
    margin-right: 0px;

#content .content table td,
#content .content table th 
    padding-right: 10px;

#content .content table td.download 
    text-align: right;
    padding-right: 0px;

#content .divider 
    background: url(images/right_splitter.gif) repeat-x;
    height: 5px;

h1 
    position: absolute;
    left: 0;
    top: 0;

h2 
    font-size: 10px;
    color: #cf9118;
    margin: 1em 0;

h3 
    font-size: 10px;
    margin: 1em 0;

h5 
    font-size: 20px;
    color: #cf9118;
    margin: 1em 0;
    text-align: center;

h6 
    font-size: 18px;
    margin: 1em 0;

p 
    margin: 1em 0;

img 
    border: 0;

img.left   float: left; margin-right: 14px; 
img.right  float: right; margin-left: 14px; 
.readmore 
    text-align: right;

.hidden 
    visibility: hidden;

.clear 
    clear: both;

a 
    color: #f0b33c;
    font-weight: bold;
    text-decoration: none;

a:visited 
    color: #cf9118;

a:hover 
    text-decoration: underline;

table a 
    text-decoration: underline;
    font-weight: normal;
    color: #7f7c79;

#power color:#fff;text-align:center;
#power a color:#fff;

任何帮助表示赞赏...在此先感谢。

【问题讨论】:

您能说得更具体些吗?我不太明白你的问题。 这是他的代码:jsfiddle.net/nbVg4/show 虽然我同意,但你所说的“透明”到底是什么意思? 从示例中很难看出,但是如果将不透明度值设置为 20%,它会变得更加明显。 啊,您正试图通过为body 设置较低的不透明度来使背景图像变暗? 基本上,我想要有 2 个背景,一个页面背景的图像(图像本身完全可见),然后有一个稍微暗淡的背景作为正文的所有内容,文本和图像。我这样做的方式是,通过在 CSS 中添加 opacity 变量,为包括图像在内的整个主体设置不透明度。 【参考方案1】:
background:rgba(0,0,0,0);
opacity:1;

【讨论】:

请解释你的答案。它目前被视为低质量的帖子。谢谢!【参考方案2】:

只需在您的代码中包含以下内容

<body background="C:\Users\Desktop\images.jpg"> 

如果要指定大小和不透明度,可以使用以下

<p><img style="opacity:0.9;" src="C:\Users\Desktop\images.jpg"    /></p> 

【讨论】:

【参考方案3】:

我同意@evillinux, 最好让你的背景图片半透明,这样它就支持

使用另一个 div 的其他建议也是一个不错的选择,如果您想在 css 中执行此操作,这是一个不错的选择。例如,如果该站点具有选择您自己的背景颜色等功能。我建议对较旧的 IE 使用过滤器。例如:

filter:Alpha(opacity=50)

【讨论】:

【参考方案4】:

使背景图像透明/半透明。如果它是纯色背景,只需在烟花或其他任何东西中创建 1px x 1px 图像并调整其不透明度...

【讨论】:

【参考方案5】:

我认为最简单的解决方案不是让body 元素部分透明,而是添加一个额外的div 来保持背景,并改变那里的不透明度。

所以你会添加一个div 喜欢:

<div id="background"></div>

并将body 元素的背景 CSS 以及一些额外的定位属性移动到它上面,如下所示:

#background 
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/background.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100%;
    opacity: 0.8;
    filter:alpha(opacity=80);

这是一个例子:http://jsfiddle.net/nbVg4/4/

【讨论】:

【参考方案6】:

您可能需要一个额外的包装器。 使用 div 作为背景并将其放置在您的内容下方..

http://jsfiddle.net/pixelass/42F2j/

HTML

<div id="background-image"></div>
<div id="content">
    Here is the content at opacity 1
    <img src="http://lorempixel.com/100/50/fashion/1/">

</div>

CSS

#background-image 
    background-image: url(http://lorempixel.com/400/200/sports/1/);
    opacity:0.4;
    position:absolute;
    top:0;
    left:0;
    height:200px;
    width:400px;
    z-index:0;

#content 
    z-index:1;
    position:relative;

【讨论】:

【参考方案7】:

如果可以接受,有一个css3 solution here。它支持不支持 css3 的 graceful degradation 方法。你只是没有任何透明度。

body 
    font-family: tahoma, helvetica, arial, sans-serif;
    font-size: 12px;
    text-align: center;
    background: #000;
    color: #ddd4d4;
    padding-top: 12px;
    line-height: 2;
    background-image: url('images/background.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100%;
    background: rgb(0, 0, 0); /* for older browsers */
    background: rgba(0, 0, 0, 0.8); /* R, G, B, A */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#CC000000, endColorstr=#CC0000); /* AA, RR, GG, BB */


要获得相当于 80% (CC) 的十六进制,取 (pct / 100) * 255 并转换为十六进制。

【讨论】:

【参考方案8】:

我认为发生了什么,因为包装器ID是相对位置,它只是出现在与body标签相同的位置,你应该做的是,你可以在包装器ID中添加一个Z-index。

#wrapper 
margin: auto;
text-align: left;
width: 832px;
position: relative;
padding-top: 27px;
z-index: 99; /* added this line */
 

这应该在透明主体标签上方创建图层。

【讨论】:

以上是关于如何使我的网站背景透明而不使内容(图像和文本)也透明?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像放在后面而不使其成为背景图像?

jQuery UI 对话框 - 仅使用背景不透明度而不使字体变灰?

如何安全地赋予我的功能而不使我的主要形式卡住

如何让我的网站内容在我的固定菜单栏下滚动并在透明背景下消失?

如何在 Xcode 的 Storyboard 中保持高分辨率图像而不使其像素化?

如何在内容中插入模糊背景图像而不干扰内容中的文本?