首页 > 其他分享 >Css中的display属性linline-block(行内区块元素)的详解和应用

Css中的display属性linline-block(行内区块元素)的详解和应用

时间:2024-02-22 12:13:01浏览次数:15  
标签:元素 height Css 设置 inline linline display block

原文链接:https://www.cnblogs.com/lijinwen/p/5679864.html

说inline-block(行内区块元素)之前,先说下他另外的2个兄弟

display:inline; 内联元素,简单来说就是在同一行显示。他没有高度,给内联元素设置width和height是没效果的。
display:block; 块级元素,简单来说就是就是有换行,会换到第二行。同时可以设置宽高。

inline-block详解

inline-block 的元素既具有 block 元素可以设置宽高的特性,同时又具有 inline 元素默认不换行的特性。当然不仅仅是这些特性,比如 inline-block 元素也可以设置 vertical-align(因为这个垂直对齐属性只对设置了inline-block的元素有效) 属性。
HTML 中的换行符、空格符、制表符等合并为空白符,字体大小不为 0 的情况下,空白符自然占据一定的宽度,使用inline-block 会产生了元素间的空隙。(这句话下面会用例子解释)

详细应用

我在了解inline-block之前,我的导航栏一直采用float浮动来达到横向排列的目的,然而浮动是会产生副作用的,需要清除浮动,相对变得麻烦了。使用inline-block将会变得很方便

(目的是用inline-block达到横向排列的效果)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{
            width: 100%;
            background: yellow;
            height: 100px;
            text-align: center;
            line-height: 100px;
        }
        a{
            color:#fff;
            text-decoration: none;
            display: inline-block;
            width: 100px;
            height: 30px;
            line-height: 30px;
            background: red;
        }
    </style>
</head>
<body>
    <div>
        <a href="">我是a1</a>
        <a href="">我是a2</a>
        <a href="">我是a3</a>
        <a href="">我是a4</a>
    </div>
</body>
</html>

  效果

 

有没有发现,每个a之间都会有一个空隙,这个空隙是因为块级元素会换行,就有换行,.HTML 中的换行符、空格符、制表符等合并为空白符.所以换行符会占据宽度,产生间隙

 

如何取消inline-block产生的间隙

我认为有2种方法

第一种

使用负值的margin各个浏览器的负值也不相同,才能完美贴合

 

第二种

父元素的css中设置word-spacing负值

 效果

 

兼容性

很遗憾,IE7以下的浏览器不支持inline-block,但并非完全不支持

解决IE6、IE7兼容性的方法:

1、首先设置inline-block触发块元素,具有了layout(CSS布局)的特性,然后设置display:inline使块元素呈现内联元素,此时layout的特性不会消失。

2、直接设置display:inline,使用zoom:1触发layout。

兼容所有浏览器的方法是:

display:inline-block;

*display:inline;

*zoom:1;

 

标签:元素,height,Css,设置,inline,linline,display,block
From: https://www.cnblogs.com/Dongmy/p/18027027

相关文章

  • 马上就要元宵节了,这里给大家用css端上一碗汤圆
    「更多福利资讯查看:2024首次大厂挑战」。`....`.bowl_wrap{width:200px;height:220px;margin:100pxauto;position:relative;}先画一个碗,这个碗呢我是分3个部分组合起来的,在一个圆的上半部分放一个椭圆,下面放一个div,都是通过border-radius进......
  • css新特性—过渡
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <style> div{ width:100px; height:100px; background-color:pink; /*谁做过渡给谁加*/ /*trasision:变化的属性花费的......
  • scss 中公共变量的导出方法:export
    scss中公共变量的导出方法:export:https://blog.csdn.net/ww_5211314/article/details/109614511?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170848176116800180690474%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=170......
  • ReadableStream/TransformStream/HMR/软件设计哲学/SSR 条件渲染/CSS.escape/Copilot
    ReadableStream,TransformStream-探索如何在React服务器组件中使用流来提升性能和用户体验。HMR-简介热模块替换技术,使前端开发更加高效。软件设计哲学-深入理解软件设计背后的哲学思考。SSR条件渲染组件-SSR条件渲染的实现方法,优化页面加载速度和SEO。C......
  • css 文字垂直居中
    方法一:使用flex布局<style>.container{display:flex;align-items:center;height:100px;}</style><divclass="container"><span>要居中的文本</span></div>方法二:使用定位和transform可以通过将......
  • bs4 css选择器
    数据准备html_doc="""<html><head><title>TheDormouse'sstory</title></head><body><pid="my_p"class="title"><bid="bbb"class="boldest">TheDormou......
  • 前端知识汇总2(css,css2, 页面布局,移动端适配)
    固定定位(fixed)固定定位是绝对定位的一种特殊形式。它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。当对无素设置固定定位后,它将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的显示位置。不管浏览器滚动条......
  • 修改标签官网自带css——dialog
    对于标签原本自带的class类就如下图的.el-dialog__body就是自带的原dialog:现在若要更改padding值方式一(但是修改的是全局的了):<style>.el-dialog__body{padding:15px;}</style>方式二(给dialog加一个自定义类名,修改的是所有class匹配的el-dia......
  • CSS学习记录
    块级元素block总是在新行上开始;高度,行高以及顶和底边距都可控制;宽度缺省是它的容器的100%,除非设定一个宽度;<div>,<p>,<h1>,<form>,<ul>和<li>是block元素。display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,......
  • css样式相关代码记录
    element样式穿透:::v-deepposition属性值有static、relative、absolute、fixed、sticky。static:该关键字指定元素使用正常的布局行为,即元素在文档常规流中当前的布局位置。relative:该关键字下,元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置(因此会......