#html #css
#HTML #css — файл
Вопрос:
Unity WebGL build создает HTML-шаблон, в котором я могу указать размер ширины и высоты.
Как я могу установить ширину div id =»GameContainer» в зависимости от ширины окна браузера, чтобы оно всегда было заполнено?
.webgl-content * {
border: 0;
margin: 0;
padding: 0
}
.webgl-content {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.webgl-content .logo,
.progress {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.webgl-content .logo {
background: url('progressLogo.Light.png') no-repeat center / contain;
width: 154px;
height: 130px;
}
.webgl-content .progress {
height: 18px;
width: 141px;
margin-top: 90px;
}
.webgl-content .progress .empty {
background: url('progressEmpty.Light.png') no-repeat right / cover;
float: right;
width: 100%;
height: 100%;
display: inline-block;
}
.webgl-content .progress .full {
background: url('progressFull.Light.png') no-repeat left / cover;
float: left;
width: 0%;
height: 100%;
display: inline-block;
}
.webgl-content .logo.Dark {
background-image: url('progressLogo.Dark.png');
}
.webgl-content .progress.Dark .empty {
background-image: url('progressEmpty.Dark.png');
}
.webgl-content .progress.Dark .full {
background-image: url('progressFull.Dark.png');
}
.webgl-content .footer {
margin-top: 5px;
height: 38px;
line-height: 38px;
font-family: Helvetica, Verdana, Arial, sans-serif;
font-size: 18px;
}
.webgl-content .footer .webgl-logo,
.title,
.fullscreen {
height: 100%;
display: inline-block;
background: transparent center no-repeat;
}
.webgl-content .footer .webgl-logo {
background-image: url('webgl-logo.png');
width: 204px;
float: left;
}
.webgl-content .footer .title {
margin-right: 10px;
float: right;
}
.webgl-content .footer .fullscreen {
background-image: url('fullscreen.png');
width: 38px;
float: right;
}
form input[type="file"] {
display: none;
position: absolute;
}
<body>
<div class="webgl-content">
<div id="gameContainer" style="width: 960px; height: 600px; margin: auto"></div>
</div>
<!-- BEGIN WEBGL FILE BROWSER LIB -->
<form id="fileBrowserPopup" style="display: none;">
<img src="TemplateData/2x2.png" style="position: absolute; width: 100%; height: 100%;"/>
<img src="TemplateData/White-Button.png" style="position: absolute; top: 35%; left: 38%; width: 25%; height: 28%;"/>
<label for="fileToUpload">
<img src="TemplateData/upload_button.png" style="position: absolute; top: 45%; left: 42.8%; width: 16%; height: 10%;"/>
</label>
<input type="File" name="fileToUpload" id="fileToUpload" style="width: 0px; height: 0px;" onchange="sendfile(event);return false;" />
</form>
</body>
Ответ №1:
Вы можете использовать vw
который обозначает атрибут view width. vh
обозначает высоту обзора.
Узнайте больше о возможных значениях, которые вы можете использовать в MDN https://developer.mozilla.org/en-US/docs/Web/CSS/length#Viewport-percentage_lengths
Поэтому, если вы хотите, чтобы он был таким же широким и высоким, как окно просмотра, вы можете установить его на:
<div id="gameContainer" style="width: 100vw; height: 100vh; margin: auto"></div>
Как показано в этом фрагменте, где я также переместил встроенный CSS в файл css.
.body {
margin: 0px;
}
#gameContainer {
width: 100vw;
height: 100vh;
display: block;
background-color: black;
}
.webgl-content * {
border: 0;
margin: 0;
padding: 0
}
.webgl-content {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.webgl-content .logo,
.progress {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.webgl-content .logo {
background: url('progressLogo.Light.png') no-repeat center / contain;
width: 154px;
height: 130px;
}
.webgl-content .progress {
height: 18px;
width: 141px;
margin-top: 90px;
}
.webgl-content .progress .empty {
background: url('progressEmpty.Light.png') no-repeat right / cover;
float: right;
width: 100%;
height: 100%;
display: inline-block;
}
.webgl-content .progress .full {
background: url('progressFull.Light.png') no-repeat left / cover;
float: left;
width: 0%;
height: 100%;
display: inline-block;
}
.webgl-content .logo.Dark {
background-image: url('progressLogo.Dark.png');
}
.webgl-content .progress.Dark .empty {
background-image: url('progressEmpty.Dark.png');
}
.webgl-content .progress.Dark .full {
background-image: url('progressFull.Dark.png');
}
.webgl-content .footer {
margin-top: 5px;
height: 38px;
line-height: 38px;
font-family: Helvetica, Verdana, Arial, sans-serif;
font-size: 18px;
}
.webgl-content .footer .webgl-logo,
.title,
.fullscreen {
height: 100%;
display: inline-block;
background: transparent center no-repeat;
}
.webgl-content .footer .webgl-logo {
background-image: url('webgl-logo.png');
width: 204px;
float: left;
}
.webgl-content .footer .title {
margin-right: 10px;
float: right;
}
.webgl-content .footer .fullscreen {
background-image: url('fullscreen.png');
width: 38px;
float: right;
}
form input[type="file"] {
display: none;
position: absolute;
}
<body>
<div class="webgl-content">
<div id="gameContainer"></div>
</div>
<!-- BEGIN WEBGL FILE BROWSER LIB -->
<form id="fileBrowserPopup" style="display: none;">
<img src="TemplateData/2x2.png" style="position: absolute; width: 100%; height: 100%;"/>
<img src="TemplateData/White-Button.png" style="position: absolute; top: 35%; left: 38%; width: 25%; height: 28%;"/>
<label for="fileToUpload">
<img src="TemplateData/upload_button.png" style="position: absolute; top: 45%; left: 42.8%; width: 16%; height: 10%;"/>
</label>
<input type="File" name="fileToUpload" id="fileToUpload" style="width: 0px; height: 0px;" onchange="sendfile(event);return false;" />
</form>
</body>