我做了我的研究,似乎无法得到任何工作。这是我的HTML:
<body ng-app="starter">
<ion-pane>
<head>
</head>
<ion-content>
<body>
<img src="resources/img.png">
</body>
</ion-content>
</ion-pane>
</body>
我的图片显示但不是全屏。它也切断了一点点。因此,我需要图像占据整个屏幕,不会重复,也不会丢失图像中的任何内容。让任何人帮我解决这个问题吗?
答案 0 :(得分:2)
这是渲染后的HTML,还是来自编辑器?
如果您能够向我们展示您的应用页面的打印屏幕,并且浏览器呈现之后的HTML ,我们将不胜感激! / p>
- 这个应用程序是否会以某种固定的分辨率/屏幕运行?如果没有,我不认为将裁剪的图像放到屏幕上是一个很好的解决方案,因为有很多其他屏幕具有不同的分辨率,如果你想要一个背景来覆盖它们,那么它肯定会在某些分辨率/屏幕上被裁剪。
考虑到这一点,您可以选择为任何类型的屏幕/分辨率创建完整尺寸的背景。
只需两个CSS规则,您就可以创建一个始终位于某个屏幕上的居中背景,无论它有多大,图像有多小:
.app-background {
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
overflow: hidden;
z-index: -1;
}
.app-background > img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
min-width: 50%;
min-height: 50%;
}
.app-background 将成为后台的包装器,并具有:
- position:fixed; 以保持其位置,以防其中一个父元素具有水平/垂直滚动条,并且不占用空间用于页面内容;
- top / left:-50%;宽度/高度:200%; 使其居中并使其大小为其父/屏幕的两倍; (现在您的图片有一个可以居中的父级);
- 溢出:隐藏; z-index:-1; 只是为了裁剪里面的图像并确保页面的内容不会隐藏在背景之后;
.app-background&gt; img 将作为背景的图像,并将具有:
- 位置:绝对;上/右/下/左:0; margin:auto; 将图像水平和垂直居中于 .app-background ;
- min-width / min-height:50% ,以防止图片小于容器分辨率/屏幕尺寸的100%。
概念(在全屏中查看)
html, body {
width: 100%;
min-width: 100%;
height: 100%;
min-height: 100%;
margin: 0;
}
.app-background {
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
overflow: hidden;
z-index: -1;
}
.app-background > img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
min-width: 50%;
min-height: 50%;
}
/* Instructions below this comment are NOT needed for the solution */
body {
font-family: Calibri, Arial;
text-align: center;
}
body:before {
content: '';
height: 100%;
display: inline-block;
vertical-align: middle;
margin-left: -0.25em;
}
*, .border-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.app-container {
position: relative;
border: 2px solid red;
color: red;
display: inline-block;
vertical-align: middle;
width: 40%;
height: 40%;
}
.app-background {
position: absolute;
border: 2px solid purple;
color: purple;
}
.app-container:before,
.app-background:before {
content: '.app-background';
font-size: 25px;
display: block;
padding-bottom: 10px;
}
.app-container:before {
content: '.app-container';
}
.app-background > img {
opacity: 0.5;
z-index: -1;
}
&#13;
<div class="app-container">
<b>This red box is what you will see in your screen.</b>
<div class="app-background">
This purple box is where your image will be centered and cropped.
<img src="https://static.vecteezy.com/system/resources/previews/000/094/491/original/polygonal-texture-background-vector.jpg">
<b>Feel free to zoom-in/out your browser to see the effect from different resolutions!</b>
</div>
</div>
&#13;
请点击整页按钮
解决方案(在全屏中查看)
html, body {
width: 100%;
min-width: 100%;
height: 100%;
min-height: 100%;
margin: 0;
}
body > ion-pane,
body > ion-pane > ion-content {
width: 100%;
height: 100%;
}
.app-background {
position: fixed;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
overflow: hidden;
z-index: -1;
}
.app-background > img {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
min-width: 50%;
min-height: 50%;
}
&#13;
<body ng-app="starter">
<ion-pane>
<head>
</head>
<ion-content>
<body>
<div class="app-background">
<img src="https://static.vecteezy.com/system/resources/previews/000/094/491/original/polygonal-texture-background-vector.jpg">
</div>
</body>
</ion-content>
</ion-pane>
</body>
&#13;
请点击整页按钮
答案 1 :(得分:1)
我们走了:
复制此代码&amp;包含在您的项目中,这将起作用:
html {
background: url(resources/img.png) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
以下是DEMO:enter link description here
答案 2 :(得分:0)
您可以使用css
将img
或其他元素width
设置为100vw
,将height
设置为100vh
img {
background: sienna;
width: 100vw;
height: 100vh;
}
<img>