Home >Web Front-end >HTML Tutorial >DIV CSS layout problem_html/css_WEB-ITnose
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?
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