【css面试题】三个DIV要求水平对齐,左右两个DIV宽度固定为100px,中间那个DIV充满剩余的宽度(至少2种方法)

这是我在一家公司面试时遇到的问题,当时没有答上来!!

所以看到的小伙伴一定要注意了!!

变化浏览器宽度可看到效果:

然后我们来看看代码:

第一种方法:(浮动)

<style type="text/css">
        .left,.right,.center{
            border:1px solid;
            height:100px;
            text-align: center;
            line-height:100px;
            font-size:50px;
        }
        .left{
            float:left;
            width:100px;
        }
        .right{
            float:right;
            width:100px;
        }
        .center{
            margin:0 100px;
        }
</style>
<div>
    <div class="left">左</div>
    <div class="right">右</div>
    <div class="center">中</div>
</div>

第二种方法:(绝对定位)

<style type="text/css">
        .container{
            position: relative;
        }
        .left,.right,.center{
            position:absolute;/*增加绝对定位*/
            top:0;
            border:1px solid;
            height:100px;
            text-align: center;
            line-height:100px;
            font-size:50px;
        }
        .left{
            left:0;
            width:100px;
        }
        .right{
            right:0;
            width:100px;
        }
        .center{
            width:auto;
            left:100px;
            right:100px;
        }
</style>
<div class="container">
    <div class="left">左</div>
    <div class="right">右</div>
    <div class="center">中</div>
</div>

当然还有很多方法,如果你有什么更好的方法,希望你能在下面评论出来,我们大家一起学习

时间: 2025-01-09 02:28:29

【css面试题】三个DIV要求水平对齐,左右两个DIV宽度固定为100px,中间那个DIV充满剩余的宽度(至少2种方法)的相关文章

记一道css面试题 : 三栏布局两边宽度固定,中间宽度自适应,并且布局随屏幕大小改变。

前几天面试时有道css题没做出来,回来好好学习一番后把其记录下来. 题目是这样的:左中右三栏布局,左右两栏宽度固定,左右两栏的宽度为200像素,中间栏宽度自适应.当屏幕小于600px时,3栏会分别占用一行.像这样 当屏幕大于600px时,是这样 我做出来用了css3的@media,如果不用这个,好吧,水平有限想不出来... 下面是代码: <!DOCTYPE> <html> <head> <style> body{ margin: 0 ; padding: 0

css布局1:左右宽度固定中间自适应html布局解决方案(同一侧宽度固定,另一侧自适应)

https://www.jb51.net/web/639884.html 本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下: a.使用浮动布局 html结构如下(为什么中间的网格宽度显示的和实际的不一样?怎么造成的;解决方法就是让中间的非浮动元素可以看到两边的浮动元素,例如为.center加overflow:hidden) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <div class="box&quo

DIV_CSS布局问题:3个水平对齐布局的DIV,左右固定宽,中间宽度自动填充

作为一个前端小白,这是我面试前端职位的题目之一,没有实践经验,误打误撞,最后还是错了! 今天难得有时间,认真思考了一下.答案不一定最佳的解决方案,但是能实现同等效果. 问题描述:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为200px,中间那个DIV充满剩余的宽度. 这个题目是我当时做的第一个题目,看完题目就把答案写出来了:不就是一个float:left;的事情吗!(实践出真知,被事实赤裸裸的打败了!) 我笔试提交的代码: <!DOCTYPE html> <h

div盒子水平垂直居中的方法推荐

父盒子是position:relative 方法一:(宽高确定) div绝对定位水平垂直居中[margin 负间距], 方法二: (宽高确定) div绝对定位水平垂直居中[margin:auto实现绝对定位元素的居中], 兼容性:,IE7及之前版本不支持 方法三:(宽高不定) div绝对定位水平垂直居中[Transforms 变形] 兼容性:IE8不支持: 方法四:(宽高不定) flex布局(对父元素display:flex) 方法五: 父盒子display: table-cell和子盒子dis

CSS实现居中的7种方法

实现HTML元素的居中 看似简单,实则不然 水平居中比如容易,垂直居中比较难搞定,水平垂直都居中更不容易.在这个响应式布局的年代,很难固定元素的宽高,俺统计了一下,目前的几种方法.本文由浅入深逐个介绍,使用了同一段HTML代码: <div class="center"> <img src="jimmy-choo-shoe.jpg" alt=""> </div> 下面鞋子图片会变化但原始大小始终是500px ×

DIV+CSS布局问题:一个宽度不确定的DIV里面放三个水平对齐的DIV,左右两个DIV宽度固定为150px

<div style="width:500px;position:absolute;left:200px;top:100px;border:1px solid red;height:100px" > <div id="px1" style="position:absolute; left:0px;height:100px; width:150px; background-color:green;"></div>

CSS 布局实例系列(三)如何实现一个左右宽度固定,中间自适应的三列布局——也聊聊双飞翼

今天聊聊一个经典的布局实例: 实现一个三列布局,其中左侧和右侧的部分宽度固定,中间部分宽度随浏览器宽度的变化而自适应变化 可能很多朋友已经笑了,这玩意儿通过双飞翼布局就能轻松实现.不过,还请容我在双飞翼之外,循序渐进地介绍一下我们可以如何实现一个三列布局. 1. 首先,使用浮动布局来实现一下 See the Pen float-three-columns by xal821792703 (@honoka) on CodePen. 左侧元素与右侧元素优先渲染,分别向左和向右浮动 中间元素在文档流的

css实现子层在父层中水平垂直居中

例子: <!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="Cont

关于div的水平垂直居中

水平垂直居中 一.未知宽高 1. table布局(display:table) 2. 转化为行内标签display:inline-block,借助另外一个标签高度来实现 3. 绝对布局(position:absolute)+translate 4. flex布局(box-flex) 方法一 思路:显示设置父元素为table,子元素为cell-table,这样就可以使用vertical-align:center,实现水平居中. 优点:父元素(parent)可以动态的改变高度(table元素的特性)