我们怎样才能将div放在一个带左右按钮的div中?

时间:2015-05-08 06:37:00

标签: html css

在我的代码中,我试图将箭头按钮放在div的最左侧和右侧,mid div必须位于div的中间我已经看到了manny问题,但没有得到适当的答案可以帮助我究竟是什么问题?。

我想要的是任何大小的mid div,因此它包含5个按钮,但它可能包含更多或更少的内容,以便如何使该div居中,这样才能实现。

#page-nav{
        width:400px;
        border:1px solid;
        height:20px;
}
    
#right{
        float:right;
}
#mid{
        margin: 0 auto;
        width:auto;
}
<div id='page-nav'>
          
  <button id=left></button>
        
  <div id="mid">
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <button>5</button>
    
  </div>
    
  <button id="right"></button>
</div>


 

5 个答案:

答案 0 :(得分:5)

您无法在HTML中使用< ...浏览器会将其视为开头标记。请使用特殊字符&lt;&gt;

<div id='page-nav'>
    <button id="left">&lt;</button>
    <div id="mid">
        <button>1</button>
        <button>2</button>
        <button>3</button>
        <button>4</button>
        <button>5</button>
    </div>
    <button id="right">&gt;</button>
</div>

然后,对你的问题。将#mid div显示为内联块,并将text-align添加到#page-nav。然后将左右箭头浮动到两侧。

#page-nav {
    width:400px;
    border:1px solid;
    /*height:20px;*/
    text-align: center;
}
#left {
    float: left;
}
#right {
    float:right;
}
#mid {
    display: inline-block;
}

请注意,我删除了#page-nav的高度,以便按钮在其中包裹得很好。

JSFiddle

答案 1 :(得分:4)

display:table设置为父div,将display: table-cell设置为text-align:center设置为内部div和左右按钮

<强>更新

将左右按钮包装到div中会更好:

&#13;
&#13;
#page-nav{
    display: table;
    width:400px;
    border:1px solid;
    height:20px;
}
#left { 
  display:table-cell }
#right{
  display:table-cell;
  text-align:right;
}
#mid{
  display:table-cell;
  text-align: center;
}
button {
  margin-top: 0;
  margin-bottom: 0;
}
&#13;
<div id='page-nav'>
   <div id="left">
     <button id="leftBtn">L</button>
   </div>
   <div id="mid">
        <button>1</button>
        <button>2</button>
        <button>3</button>
        <button>4</button>
        <button>5</button>
    </div>
    <div id="right">
      <button id="rightBtn">R</button>
    </div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:4)

使用

<强> CSS

#page-nav {
    width:400px;
    border:1px solid;
    height:25px;
    text-align:center;
}
#right {
    float:right;
}
#mid {
    display:inline-block;
}
#left {
    float:left;
}

FIDDLE DEMO

答案 3 :(得分:2)

以下是我希望使用text-align: justify;

使用span at 100% width来展示内容的方法

使用此方法的con是底部的空格。

 <div id='page-nav'>

            <button id=left><</button>



 <button>1</button>
        <button>2</button>
        <button>3</button>
        <button>4</button>
        <button>5</button>

        <button id="right">></button>

     <span class="stretch"> </span>

</div>

CSS

 #page-nav{
        width:400px;
        border:1px solid;
        text-align: justify;
    }
    .stretch {
        width:100%;
        height:1em;
        display:inline-block;
    }

Jsfiddle

答案 4 :(得分:1)

箭头使用absolute位置,按钮使用display:table

#page-nav {
width:400px;
border:1px solid;
height:30px;
position: relative;
}
#left {
position:absolute;
left:0;
height:25px;

/*To center vertically*/
margin:auto;
top:0;
bottom:0;
}
#right {
position:absolute;
right:0;
height:25px;

/*To center vertically*/
margin:auto;
top:0;
bottom:0;
}
#mid {
margin: 0 auto;
width:auto;
display:table;
}