Home  >  Article  >  Web Front-end  >  DIV CSS layout problem_html/css_WEB-ITnose

DIV CSS layout problem_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:26:231147browse


There is a large div on the page. There are 3 small divs in this large div. The first div is left aligned, the third div is right aligned, and the second (that is, the middle) div Center alignment, how to achieve this? The width and height of the left div and the right div are fixed. The key is that the width of the middle div is not fixed.
The prerequisite is: the width of the large div is not fixed width:100%;

That is the picture below, the returned picture on the left is left-aligned, the three points on the right are right-aligned, and the middle one is " "Integral center" is aligned in the center, using three divs to achieve it. The width of the two divs on the left and right are fixed, and they are suspended on the left and right respectively. What should I do with the middle div? How to center it?


Reply to the discussion (solution)

Add margin:0 auto to the middle div;

Add margin:0 auto to the middle div ;
No, because the three small divs need to be added with a float:left; attribute on the same line. Adding a margin:0 auto; to the middle div is useless. If the float:left attribute is removed, then It works, but if float:left is removed, the three divs will not be on the same line

Use a large div in the middle, and use absolute positioning to fix the two divs to both sides


Adding margin:0 auto;
to the middle div won’t work, because the three small divs need to be added with a float:left; attribute on the same line. Adding margin:0 auto; to the middle div is useless. If you remove the float:left attribute, it will be useful, but if you remove float:left, the three divs will not be on the same line



Add a margin:0 auto; No, because the three small divs need to be added with a float:left; attribute on the same line. Adding a margin:0 auto; to the middle div is useless. If you remove the float:left attribute, it will be useful. , but if float:left is removed, the three divs will not be on the same line
Then it will be absolutely positioned as mentioned on the third floor. There is no need for float

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style type="text/css">.div1{width:100%;line-height:50px;background:#FFC}.left{float:left;width:100px;background:#9C6}.right{float:right;width:100px;background:#0CF}.center{text-align:center;}</style><script type="text/javascript"></script></head><body>	<div class="div1">    	<div class="left">左侧</div>        <div class="right">右侧</div>        <div class="center">积分中心</div>    </div></body></html>

<style type="text/css">*{margin:0;padding:0}.box{position:relative;height:50px;background:#fafafa}.center{text-align:center;height:50px;line-height:50px}.left,.right{position:absolute;background:#f00;width:50px;height:30px;top:10px}.left{left:0}.right{right:0}</style>


<div class="box">	<div class="left">左</div>    <div class="center">中</div>    <div class="right">右</div></div>

It is best to add padding to your center: 0 60px;
Otherwise, the content of your center will be covered left and right

<style type="text/css">*{margin:0;padding:0}.box{position:relative;height:50px;background:#fafafa}.center{text-align:center;height:50px;line-height:50px;background:yellow;padding:0 70px;}.left,.right{position:absolute;background:#f00;width:50px;height:30px;top:10px}.left{left:0}.right{right:0}</style>

Thanks everyone, solved

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn