如何使div两侧的边距保持一致

5

我正在尝试使用一个搜索栏创建一个与浏览器无关的代码(这个搜索栏我从demos.jQuery.com中获取),但现在当我尝试修复左右两侧的边距百分比时(我希望即使浏览器宽度改变,它也能居中对齐),我无法做到这一点。我是CSS方面的新手,有人可以帮忙吗?

目前我编写的代码如下:

HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<meta name="viewport" content="initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title>Screen1</title>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="screen1.css">
</head>
<body>
<div id="header"><p class="p1"><b>Composite<img class="img1" src="https://cdn2.iconfinder.com/data/icons/picol-vector/32/arrow_sans_down-128.png" alt="alternate"></b></p></div>

<div id=""main>
 <div data-role="main" id="main" class="ui-content">
    <form>
      <input data-type="search" id="divOfPs-input">
    </form>
    <div class="elements" data-filter="true" data-input="#divOfPs-input">
      <p><strong>These</strong> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam</p>
      <p><strong>p elements</strong> nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam</p>
      <p><strong>are</strong> et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est</p>
      <p><strong>filterable</strong> Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur</p>
    </div>
  </div>
    </div>
</body>
</html>

CSS:

@CHARSET "ISO-8859-1";

#header
{   position:absolute;
    height:40px;
    width:100%;
    background-color:#D1D3D4;
    verticle-align="middle";
    left:0;

}
.img1
{
    position:relative;
    height:13px;
    float:right;
    padding-right:12%;
}

.p1{

    position:relative;
    padding-bottom:5%;
    padding-left:7%;
    width:100%;

}

#main
{   
    position:absolute;
    margin-top:80px;
    left:-.3%;
    margin-right:2%;
    width:98%;
    border-right:5%;

}

参考此 fiddle

5个回答

3
主要问题在于您定义了宽度为98%,但没有使用box-sizing:border-box; ,因此填充会将内容推出可见区域。您需要调整#main div如下:
#main
{   
    /* left:-.3%;
    margin-right:2%; */
    width:100%;
    box-sizing: border-box;
}

Fiddle: http://jsfiddle.net/3je1bk67/3/


1
如果你想使用margin-rightmargin-left使你的元素居中,请尝试以下方法:
/* just change the element tag you want to center */
p{ 
  margin-left:10%;
  margin-right:10%;
}

那会让你所有的<p>元素居中,而你可以将其应用于任何元素。
看一下这个演示

1

要将搜索栏居中,只需添加以下内容

margin-left: auto;
margin-right: auto;

希望它有帮助

enter image description here


0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接