【发布时间】:2019-06-20 09:36:50
【问题描述】:
玩转 CSS 和 居中项目 可能是一项艰巨的任务。我在https://www.w3schools.com/ 和https://css-tricks.com/ 网站上四处寻找居中项目。如果你能帮助我实现我的目标,我仍然会感到困惑,就好像我在学习编码的同时为自己制作一个网站一样。我知道很多 HTML 和 CSS,但有时当您尝试实现您的设想时,会变得非常困难。
这是我的问题。我一直希望我的个人资料图片在左栏中,而关于我的摘要文字在右栏中。很多人一直告诉我要避免浮动,这样我就可以理解为什么并选择使用弹性、网格或列。
最近,我只是尝试使用列,到目前为止我喜欢它。唯一的问题是它弄乱了我的导航栏,该导航栏实际上横跨我的桌面,然后在平板电脑/移动设备上响应一次。
还有一件事,如下图所示,我希望我的文本框稍微居中一点,这样它在桌面上时看起来不错。然后,一旦您将其缩小到平板电脑/移动设备,我希望我的个人资料图片堆叠在我的文本框顶部,以便在您滚动时看起来也不错。
注意:我在两个对象周围加上了背景色,这样我就可以直观地看到它在哪里以及 div 框在做什么。然后我计划在完成后将其删除。
HTML
<span>
<div class="summary">
<div class="profilePicture" style="background-color: lightgreen;">
<img src="https://i.imgur.com/TKo40kR.jpg" style="width: 170px; height: 170px; border-radius:50%;">
</div>
<div class="profileSummary" style="font-size: 18px; background-color: lightblue;">
Attentive alas because yikes due shameful ouch much kookaburra cantankerously up unbridled far vulnerably climbed aristocratically hired brusque fox said the therefore terrier scallop innocent on goodness mongoose woolly showed insistently and.
</div>
</div>
</span>
CSS
html, body {
margin: 0;
}
body {
display: table;
width: 100%;
}
body>span {
display: table-cell;
vertical-align: middle;
text-align: center;
}
.summary {
/* Creates two columns */
-webkit-column-count: 2; /* Chrome, Safari, Opera */
-moz-column-count: 2; /* Firefox */
column-count: 2;
margin: auto; /* Begin Centering */
width: 60%;
padding: 300px 0;
text-align: center;
}
.profilePicture {
display: block;
margin-left: auto;
margin-right: auto;
}
【问题讨论】:
-
混乱来自
body { display:table; }。让你这么做的人并不是你真正的朋友。有很多更好的方法来居中。如display: flex; align-items: center; justify-content: center。 -
@Andrei Gheorghiu 哈哈,解决了问题!不是我真正朋友的是 CSS-Tricks.com 关于居中的建议。现在我还有另一个问题。到目前为止看起来不错,但在 iPhone 中,它看起来很难看。看看这里i.imgur.com/r2T6Ihb.jpg
-
显然。不要使用列。使用 flexbox 并在窄设备上从行切换到列。我将添加一个示例。
-
好的,谢谢。期待一个例子。请务必将这两个项目也放在屏幕中间。
标签: html css responsive-design centering