我正在尝试使用媒体组件在左侧显示图像,并对其进行描述。但是图像粘在屏幕的左侧。为了在那里增加一个空白,我需要使用填充,但这会混淆引导组件兼容的移动版本。如何在不破坏引导程序的移动版本的情况下执行此操作?
感谢。
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Projects</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="style.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<body>
<nav role="navigation" class="navbar navbar-default">
<div class="navbar-header">
<button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="index" class="navbar-brand">Zarwan Hashem</a>
</div>
<div id="navbarCollapse" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="index">Home</a></li>
<li class="active"><a href="#">Projects</a></li>
<li><a href="resume">Resume</a></li>
</ul>
<a class="navbar-brand pull-right">zarwan@zarwanhashem.com</a>
</div>
</nav>
<div class="media">
<a class="pull-left" href="#">
<img class="media-object" src="robotAI.png" alt="...">
</a>
<div class="media-body">
<h4 class="media-heading">Media heading</h4>
Testing test test
</div>
</div>
</html>
CSS(55em填充只是这样我可以试着看看它是否会改变任何东西):
body {
font-family: sans-serif;
padding-bottom:150px;
}
img {
padding-left: 55em;
}
@media only screen and (min-width: 48em) {
img {
padding-left: 50px;
}
}
p {
margin-right:15em;
padding-top:0;
font-size:1.2em;
}
答案 0 :(得分:2)
第一个解决方案
使用padding
这样的查询,根据您的屏幕尺寸添加@media
:
img {
padding-left: 0;
}
@media only screen and (min-width: 48em) {
img {
padding-left: 20px;
}
}
第二个解决方案
最佳做法是为您的内容设置一个包装器,其宽度为页面宽度的80%或90%,并以margin: 0 auto;
为中心。然后使用@media
查询根据屏幕大小调整wrapper
宽度(例如移动设备)。
.wrapper {
width: 100%;
margin: 0 auto; /* to center your content in the middle of the page */
}
img {
width: 250px;
height: 250px;
}
.wrapper p {
display: inline-block;
}
@media only screen and (min-width: 48em) {
.wrapper {
width: 80%;
}
}
<div class="wrapper">
<img src="http://lorempixel.com/250/250">
<p>Some text</p>
</div>
答案 1 :(得分:1)
首先要有一个未缩小版本的bootstrap.css来学习和理解各种组件和元素使用的样式。
.media
组件没有响应,它是流动的。它没有媒体查询。
如果您不想影响此组件的较小视口显示,您可以查看css,查看您需要更改的内容并以您选择的MIN宽度进行媒体查询。因此,您不会影响.media
组件的其他用途,您将使用自定义类(您想要的任何内容):
@media (min-width:768px) {
.media.custom .pull-left {padding-left:80px}
}
这是使用像素来匹配bootstrap.css默认大小。如果你的bootstrap.css正在使用em,那么调整。
<div class="media custom"> ...
答案 2 :(得分:0)
我会说不要使用填充,因为它会让事情变得混乱而难以跟踪,而是将媒体div放在页面上。
您需要在css中执行此操作,例如
.media {
width: 80%;
text-align: center;
}
您始终可以将.media
更改为任何@media
查询,以定位特定设备/屏幕尺寸。