最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - how to make the margin constant on both side of a div - Stack Overflow

programmeradmin0浏览0评论

I was trying to make a browser independent code with a search bar in it ( this search bar i took from demos.jQuery) but now when I am trying to fix the margin percent in the left and right side ( i want it center aligned even when browser width is changed ) I am unable to do that , I am new to CSS can someone help ?

the code that i made till now is :

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=".4.4/jquery.mobile-1.4.4.min.css">
<script src=".11.1.min.js"></script>
<script src=".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=".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

I was trying to make a browser independent code with a search bar in it ( this search bar i took from demos.jQuery.) but now when I am trying to fix the margin percent in the left and right side ( i want it center aligned even when browser width is changed ) I am unable to do that , I am new to CSS can someone help ?

the code that i made till now is :

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./mobile/1.4.4/jquery.mobile-1.4.4.min.css">
<script src="http://code.jquery./jquery-1.11.1.min.js"></script>
<script src="http://code.jquery./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./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

Share edited Nov 20, 2014 at 11:20 BomberMan 1,0943 gold badges13 silver badges33 bronze badges asked Nov 20, 2014 at 9:43 vaibhavvaibhav 7842 gold badges14 silver badges35 bronze badges
Add a ment  | 

5 Answers 5

Reset to default 3

The main problem is that you have defined 98% width without box-sizing: border-box; so padding was pushing content outside of visible area. You have to adjust #main div to:

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

Fiddle: http://jsfiddle/3je1bk67/3/

to allign search bar in the middle you just have to add this

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

Hope it helps

If you want to make your elements centred using margin-right and margin-left try this:

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

That will make all your <p> elements centred, and you can apply it to any element.

Take a look at this Demo.

This answer will help you: How to horizontally center a <div> in another <div>?

Also you have a typo in your code: <div id=""main> instead of <div id="main">.

Jsfiddle

http://jsfiddle/3je1bk67/6/

you can resize the browser to see the effect

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

    }
发布评论

评论列表(0)

  1. 暂无评论