如何让背景覆盖一个单独的div?

2023-09-06前端开发问题
5

本文介绍了如何让背景覆盖一个单独的div?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在做一个带有侧边菜单的网站.屏幕的 30% 是菜单,其余是内容.

I'm doing a site with side-menu. 30% of the screen is the menu and the rest is content.

div的内容,我用COVER方法放了一张背景图.我用了第一个例子:https://css-tricks.com/examples/FullPageBackgroundImage/css-1.php

The contents of the div, I put a background image using the COVER method. I used the first example: https://css-tricks.com/examples/FullPageBackgroundImage/css-1.php

但是,当图像占据整个背景时,此方法非常有效.在我的示例中,我希望相同的精确占据 70% 的宽度,吃掉"图像的角落.

However, this method works perfectly when the image occupies the entire background. As in my example, I want the same exact occupy 70% of the width, "eats" the image corners.

我该如何解决这个问题?

How can I fix this?

HTML:

<div id="esquerda" style="width: 30%; height: 500px">
 ....conteudo.....
</div>

<div id="direita" style="width: 70%; height: 500px">
   <img src="fundo.jpg" class="bg">

</div>

CSS:

.bg {
    min-height: 100%;
    min-width: 1024px;

    width: 100%;
    height: auto;   

    position: fixed;
    top: 0;
    float: right;
}


@media screen and (max-width: 1024px){
     .bg {
        left: 50%;
        margin-left: -512px; 
     }
}

推荐答案

使用 background-image 和 3 个不同元素的基本方法(以防止主要与 Safari 相关的 xBrowser 问题)
#bg 图层元素上将背景设置为 cover

Basic approach using background-image and 3 different elements (to prevent xBrowser issues related mostly to Safari)
setting the background to cover on the #bg layer element

*{ box-sizing: border-box;}
html, body{ height:100%; }
body{ position:static; margin:0; }

#bg{
  background: url('http://www.gettyimages.ca/gi-resources/images/Homepage/Hero/UK/CMS_Creative_164657191_Kingfisher.jpg') 50%;
  background-size: cover;
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 70%;
}
#menu{
  position: fixed;
  bottom: 0; top: 0; left: 0;
  width: 30%;
  background: rgba( 0, 0, 255, 0.4 );
}
#page{
  position: relative;
  border: 10px dashed #000;
  margin-left: 30%;
  width: 70%;
  height: 2000px;
}

<div id="bg">BG</div>
<div id="menu">FIXED</div>
<div id="page">SCROLLABLE</div>

在该代码之上,您可以随意应用 CSS3 媒体查询.

on top of that code you can apply CSS3 media queries as you please.

注意最简单的"是使用单独的 #bg 元素,而是使用使用 background-attachment: fixed; 将 bg 图像直接设置为 #page 元素,但是如前所述,图像可能不会出现在 Safari 上,同时它的大小设置为封面.

Note that the "easiest" would be not to use the separate #bg element but instead to set the bg image directly to the #page element using background-attachment: fixed; but, as mentioned, the image might not appear on Safari in combination with it's size set to cover.

这篇关于如何让背景覆盖一个单独的div?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

layui 实现实时刷新一个外部的div
主页面上显示了一个合计,在删除和增加的时候需要更改这个总套数的值: //html代码div class="layui-inline layui-show-xs-block" style="margin-left: 10px" id="sumDiv"spanSOP合计:/spanspan${totalNum}/spanspan套/span/div 于是在我们删除这个条数据后,...
2024-11-14 前端开发问题
156

layui 单选框、复选框、下拉菜单不显示问题如何解决?
1. 如果是ajax嵌套了 页面, 请确保 只有最外层的页面引入了layui.css 和 layui.js ,内层页面 切记不要再次引入 2. 具体代码如下 layui.use(['form', 'upload'], function(){ var form = layui.form; form.render(); // 加入这一句});...
2024-11-09 前端开发问题
313

layui tree树组件怎么自定义添加图标
经常用到layui的朋友都知道,layui tree默认是不能自定义图标的,那么我们要自定义的话要怎么操作呢? 首先用编辑器软件(修改时候用编辑器记得编码),打开layui.js。搜索: i class="layui-icon layui-icon-file" 改为如下代码: i class="'+ (i.icon || "l...
2024-10-26 前端开发问题
493

layui要如何改变时间日历布局大小?
问题描述 我想改变layui时间日历布局大小,这个要怎么操作呢? 解决办法 可以用css样式对时间日历进行重新布局,具体代码如下: !DOCTYPE htmlhtmlheadmeta charset="UTF-8"title/titlelink rel="stylesheet" href="../../layui/css/layui.css" /style#test-...
2024-10-24 前端开发问题
271

jQuery怎么动态向页面添加代码?
append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 语法: $(selector).append( content ) var creatPrintList = function(data){ var innerHtml = ""; for(var i =0;i data.length;i++){ innerHtml +="li class='contentLi'"; innerHtml +="a href...
2024-10-18 前端开发问题
125

“数组中的每个孩子都应该有一个唯一的 key prop"仅在第一次呈现页面时
quot;Each child in an array should have a unique key propquot; only on first time render of page(“数组中的每个孩子都应该有一个唯一的 key prop仅在第一次呈现页面时)...
2024-04-20 前端开发问题
5