如何在不在较小屏幕上创建水平滚动的情况下将图像居中?
How to center an image without creating a horizontal scroll on smaller screen?
我正在尝试使图像居中。我试过 'left: 50%',哪种方法有效,但它通过添加水平滚动改变了页面在较小屏幕上的外观,这确实弄乱了整个页面的外观(顶部和底部 div 容器没有填满页面的宽度)。
有没有一种简单的方法可以将它居中,而不会在较小的屏幕上导致水平滚动?
.top-container {
background: background: -webkit-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -webkit- linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: -o-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -o-linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: -moz-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -moz-linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
padding-top: 5px;
padding-bottom: 30px;
text-align: center;
position: relative;
z-index: 1;
margin: auto;
width: 100vw;
}
.top-container:before {
content: "";
background: url("http://www.transparenttextures.com/patterns/cubes.png");
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
opacity: 0.9;
width: 100vw;
height: 100%;
z-index: -1;
}
nav {
height: 5vh;
background: #cc0e74;
margin-top: -20px;
width: 100vw;
}
.photo-holder {
position: relative;
top: 100%;
transform: translate(-50%, -50%) rotate(120deg);
width: 900px;
height: 400px;
max-height: 900px;
background: transparent;
border-radius: 50%;
overflow: hidden;
margin-top: 300px;
display: inline-block;
margin-left: auto;
margin-right: auto;
}
.photo-holder-inner {
width: 100%;
height: 100%;
border-radius: 50%;
transform: rotate(-60deg);
overflow: hidden;
background: transparent;
}
.photo-holder-inner-in {
width: 100%;
height: 100%;
border-radius: 50%;
transform: rotate(-60deg);
overflow: hidden;
background-image: url("./../images/me-skye.JPG");
background-size: contain;
filter:hue-rotate(-75deg);
border:1px solid #a37eba;
}
我可能忽略了一些非常简单的事情,但我很困惑,所以非常感谢任何帮助!
添加
overflow-x: hidden;
在 div 您想要将图像或全身标记居中的位置。它将删除水平滚动条。
我正在尝试使图像居中。我试过 'left: 50%',哪种方法有效,但它通过添加水平滚动改变了页面在较小屏幕上的外观,这确实弄乱了整个页面的外观(顶部和底部 div 容器没有填满页面的宽度)。
有没有一种简单的方法可以将它居中,而不会在较小的屏幕上导致水平滚动?
.top-container {
background: background: -webkit-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -webkit- linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: -o-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -o-linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: -moz-linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), -moz-linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
background: linear-gradient(70deg, #e6739f 30%, rgba(0,0,0,0) 30%), linear-gradient(30deg, #cc0e74 60%, #790c5a 60%);
padding-top: 5px;
padding-bottom: 30px;
text-align: center;
position: relative;
z-index: 1;
margin: auto;
width: 100vw;
}
.top-container:before {
content: "";
background: url("http://www.transparenttextures.com/patterns/cubes.png");
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
opacity: 0.9;
width: 100vw;
height: 100%;
z-index: -1;
}
nav {
height: 5vh;
background: #cc0e74;
margin-top: -20px;
width: 100vw;
}
.photo-holder {
position: relative;
top: 100%;
transform: translate(-50%, -50%) rotate(120deg);
width: 900px;
height: 400px;
max-height: 900px;
background: transparent;
border-radius: 50%;
overflow: hidden;
margin-top: 300px;
display: inline-block;
margin-left: auto;
margin-right: auto;
}
.photo-holder-inner {
width: 100%;
height: 100%;
border-radius: 50%;
transform: rotate(-60deg);
overflow: hidden;
background: transparent;
}
.photo-holder-inner-in {
width: 100%;
height: 100%;
border-radius: 50%;
transform: rotate(-60deg);
overflow: hidden;
background-image: url("./../images/me-skye.JPG");
background-size: contain;
filter:hue-rotate(-75deg);
border:1px solid #a37eba;
}
我可能忽略了一些非常简单的事情,但我很困惑,所以非常感谢任何帮助!
添加
overflow-x: hidden;
在 div 您想要将图像或全身标记居中的位置。它将删除水平滚动条。