如何在div的两边使边距保持不变

时间:2014-11-20 09:43:16

标签: javascript jquery html css

我试图制作一个独立于浏览器的代码,其中包含一个搜索栏(我从demos.jQuery.com获取此搜索栏),但现在当我尝试修复左右两侧的边距百分比时(i希望它中心对齐,即使浏览器宽度改变了)我无法做到这一点,我是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%;

}

Refer this fiddle

5 个答案:

答案 0 :(得分:3)

主要问题是您已定义98%宽度而没有box-sizing: border-box;,因此填充将内容推送到可见区域之外。您必须将#main div调整为:

#main
{   
    /* left:-.3%;
    margin-right:2%; */
    width:100%;
    box-sizing: border-box;
}

小提琴:http://jsfiddle.net/3je1bk67/3/

答案 1 :(得分:1)

如果您想使用margin-rightmargin-left使元素居中,请尝试以下操作:

/* just change the element tag you want to center */
p{ 
  margin-left:10%;
  margin-right:10%;
}

这将使您的所有<p>元素居中,并且您可以将其应用于任何元素。

查看 this Demo

答案 2 :(得分:1)

要在中间对齐搜索栏,您只需添加此

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

enter image description here 希望它有所帮助

答案 3 :(得分:0)

这个答案将帮助您: How to horizontally center a <div> in another <div>?

您的代码中也有拼写错误:<div id=""main>而不是<div id="main">

答案 4 :(得分:0)

的jsfiddle

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

您可以调整浏览器的大小以查看效果

  #main
    {   
        margin:30px 0px 0px 0px;

    }