css中display属性和border属性常遇问题讲解

本篇文章给大家带来的内容是关于css中display属性和border属性常遇问题讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

因为HTML很少有太复杂的问题,所以直接写一篇关于CSS的常见问题及解答啦~

display: none;和visibility:hidden;的区别

简单来说:

display: none;不会再占据空间,就跟不存在一样。

visibility:hidden;则只是将透明度变成0,仍然占据其空间。

立即学习“前端免费学习笔记(深入)”;

inline、inline-block、block的区别

首先要明确,每一个标签都有其默认的display的属性值。例如:

标签默认为display: block;

标签默认为display: inline;

但是,默认值可以被重写。即你可以对

标签设置display: inline;,对标签设置display: block;

接下来讲区别:

72688256-5a5af1b0530fb_articlex.png

对于display: block;

它独占一行,即不允许有其他元素在其左右。

可设置宽度和高度。

在未设置宽度时,其宽度会撑满。

上下左右的padding和margin都会起作用(这里的起作用是指可以拉开和其他元素的距离)。

对于display: inline;

它不会独占一行,可以允许其他元素在其左右。

宽度和高度由内容撑开,设置width和height是无效的。

左右的margin和padding可以拉开距离,但是上下的margin和padding不能拉开距离。

更多需要注意的点看这里。

对于display: inline-block;

它像inline和block的合体。

允许其他元素在其左右。

可设置宽度和高度。

重点解释一下inline的padding-top或者padding-bottom。当给inline的元素设置这两个值时,实际上是加上了padding的,在设置背景色的时候可以清楚的看到背景色作用在了padding上,但是却没有拉开和下方元素的距离。
代码如下:

block1block2
block3
.block1 { background-color: lightblue; width: 100px; // 无效 height: 500px; //无效 margin-right: 20px; margin-bottom: 20px; // 无法拉开距离 padding-left: 10px; padding-bottom: 10px; // 无法拉开距离}.block2 { display: inline-block; width: 300px; // 可以起作用 background-color: lightgray;}.block3 { background-color: red;}

图片如下:

1007120300-5bcd813059852_articlex.png

border-radius: 999px;和border-radius: 50%;的正确理解。

先看代码:

block1
block2
.block1 { width: 200px; height: 100px; background-color: lightblue; border-radius: 999px;}.block2 { width: 200px; height: 100px; background-color: lightgray; border-radius: 50%;}

486290315-5bcd813005062_articlex.png

首先要注意,设置border: 999px;只是表示设置一个很大的值,事实上不用设置999px,只要理解了原理,就能找到那个临界值。

其次,设置border-radius: 999px;其实是设置了x和Y方向上的两个值,等价于border-radius: 999px/999px;

当我们设置border-raidus: 999px;时,你可以先想象在一个矩形内部画了两个巨大无比的圆,这两个圆因为太大了,所以产生了交叠的部分,于是根据文档里的这一段:

671999172-5bcd812fbdff0_articlex.png

意思是:
L是边长,S是border-radius设置的两个方向的值的和,如果 f = min(L / s) 小于1,则border-radius都要乘以f来缩小。拿上面的代码来说,因为最小边是100px,s为999px + 999px,所以 f = 100 / (999 + 999)是小于1的,所以,border-radius都要乘以f,得出来border-radius:999px;等价于border-radius: 50px;因此变成了block1中的跑道形状。

3936160283-5bcd812fbba44_articlex.png

当我们设置border-raidus: 50%;的时候,下面这张图就足够解释了:

1388571981-5bcd812fd292d_articlex.png

总结:

border-radius: 50px;等价于border-radius: 50px/50px;有两个方向。

通常,50%的radius用的比较多,常用来设置圆形的头像,对一个正方形元素设置border-radius: 50%;即可实现。

当border-radius非常大时,会产生交叠,导致要一起缩小,缩小至最短边的一半。

margin和padding的区别,何时用哪个?

区别:

首先,以border为界,margin在border之外,padding在border里。

2421849506-5bcd81303bec7_articlex.png

其次,背景色会作用在padding上,不会作用到margin上。

margin在垂直方向上可能会出现合并的问题(具体可搜索margin坍塌或者外边距合并)

我的用法:

通常情况下,我会这样用:

在需要拉开内部元素与父元素的距离时,在父元素上加padding

在需要拉开元素和元素之间的距离时,用margin

son1
son2
.container { background-color: lightblue; padding: 10px;}.son1 { margin-bottom: 10px; background-color: orange;}.son2 { background-color: lightgray;}

2475959898-5bcd812fb81b1_articlex.png

以上就是css中display属性和border属性常遇问题讲解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
css中浮动的常见用法以及清除浮动的介绍(代码示例)
上一篇 2025年12月24日 03:15:47
下一篇 2025年12月24日 03:16:00

相关推荐

  • Seer如何预览Markdown文件_SeerMarkdown文件预览的技巧

    首先确认Seer中.md文件是否正确关联为Markdown类型并启用实时渲染,接着通过自定义CSS优化预览样式,检查MathJax或Mermaid等插件兼容性,最后使用Command+R快捷键强制刷新预览以确保内容更新。 如果您在使用 Seer 快速预览文件时发现 Markdown 文件无法正确渲染…

    2026年9月5日
    100
  • VSCode中怎么快速注释_VSCode快速添加和移除注释的快捷键教程

    掌握VSCode注释快捷键可大幅提升效率:行注释用Ctrl+/(Win/Linux)或Cmd+/(macOS),块注释用Shift+Alt+A(Win/Linux)或Shift+Option+A(macOS),系统会根据文件类型自动匹配注释语法,如JavaScript用//和/ /,Python用#…

    2026年9月5日
    100
  • mPDF页面分页机制解析与控制局限性

    本文深入探讨mPDF在HTML转PDF过程中处理页面分页的机制及其固有限制。我们将阐明mPDF对自动分页的控制能力有限,且不提供“孤行”或“寡行”保护,这意味着将所有内容强制输出到单一PDF页面的需求,在内容较长时,可能难以通过mPDF直接实现。 理解mPDF的页面分页核心机制 mpdf是一个强大的…

    2026年9月5日
    100
  • VSCode怎么运行UI代码_VSCode前端用户界面代码执行与调试教程

    VSCode通过集成开发服务器、调试工具和自动化任务实现UI代码运行与调试。首先使用Live Server预览静态页面,或在集成终端运行npm/yarn命令启动框架开发服务器;接着配置launch.json并结合Debugger for Chrome扩展,在VSCode中设置断点调试前端代码;最后通…

    2026年9月5日
    300
  • vs2010怎么在页面使用控件

    在vs2010中利用控件进行页面设计是一项关键的开发能力。下面将逐步讲解如何在网页中使用控件完成界面构建。 向页面添加控件 启动vs2010后,首先创建一个新项目,选择合适的项目模板,例如ASP.NET Web应用程序。接着,在解决方案资源管理器中定位到目标页面文件(通常为.aspx格式),双击该文…

    2026年9月5日
    000
  • sw插件composer怎么做动画教程

    sw插件composer怎么做动画教程sw插件composer怎么做动画教程sw插件composer怎么做动画教程sw插件composer怎么做动画教程

    通过Composer集成动画库(如Swiper)可以高效开发动画。Composer简化了依赖管理,使安装和更新变得容易。使用Swiper可以创建轮播图动画,配置选项包括自动播放和导航按钮。常见问题包括冲突、性能和浏览器兼容性,可通过优化代码和使用调试工具来解决。根据项目需求选择合适的动画库,例如Sw…

    2026年9月5日 用户投稿
    200
  • VSCode代码空格怎么解决_VSCode空格与缩进格式问题处理教程

    答案是通过配置VSCode设置、使用.editorconfig文件、集成Prettier等格式化工具,并统一团队规范,可有效解决代码缩进与空格问题。具体包括调整tabSize、insertSpaces、detectIndentation等编辑器设置,禁用自动检测以避免混乱,配合Prettier、ES…

    2026年9月4日
    200
  • 解决PHP Web应用数据更新延迟:浏览器缓存管理与实时内容展示

    本文深入探讨了PHP应用在本地开发环境中,当JSON数据或图片文件更新后,Web视图未能及时反映最新内容的问题。核心原因在于浏览器缓存机制。文章将详细介绍多种有效的解决方案,包括利用查询参数强制缓存失效、通过修改文件名实现版本控制,以及配置服务器端的缓存策略,旨在帮助开发者确保Web应用能够准确、实…

    2026年9月4日
    200
  • VSCode怎么插动图_VSCode插入GIF动图与预览动态效果教程

    VSCode无法直接在编辑器中播放GIF,但可通过Markdown预览功能实现动图展示。具体步骤为:将GIF文件放入项目目录或使用网络链接,在.md文件中用![描述](路径)语法插入,再通过Ctrl+Shift+V打开预览窗口即可动态查看。此方法利用内置渲染引擎,不需额外插件,适用于文档编写;也可安…

    2026年9月4日
    400
  • PHP:将扁平数组转换为树状结构

    本文介绍了如何使用 PHP 将一个包含父子关系的扁平数组转换为树状结构。通过递归函数 buildTree,我们可以根据 parent_id 将数组元素组织成具有层级关系的树形结构,方便数据展示和操作。本文提供了详细的代码示例和解释,帮助你理解和应用这种数据转换方法。 在实际开发中,我们经常会遇到需要…

    2026年9月4日
    200
  • 小红书千帆APP有哪些核心功能_小红书千帆APP核心功能详解

    小红书千帆APP提供数据看板、订单管理、商品上架、客服沟通与营销推广五大核心功能,助力商家高效运营店铺。 如果您在小红书上经营店铺,需要一个高效管理商品、订单和数据的工具,那么小红书千帆APP正是为此设计。以下是该平台提供的多项核心功能详解: 一、数据看板与经营分析 此功能旨在帮助商家全面掌握店铺运…

    2026年9月4日
    000
  • 夸克网盘如何恢复误删文件 夸克网盘回收站机制的应急使用手册

    误删文件后可通过回收站恢复,检查文件恢复服务设置,利用历史版本功能,联系官方客服或使用专业软件找回数据。 立即进入“☞☞☞☞☞点击夸克资源搜索引擎链接☜☜☜☜☜”; 立即进入“☞☞☞☞☞点击夸克资源网APP直达☜☜☜☜☜”; 如果您在使用夸克网盘时误删了重要文件,不必过于惊慌。大多数情况下,被删除的…

    2026年9月4日
    500
  • 告别繁琐的字符串处理:使用 nicolasbize/magicsuggest 提升用户体验

    最近,我负责开发一个网站的搜索功能。为了提升用户体验,我需要一个能够提供自动建议的输入框,并且允许用户多选关键词。我尝试过一些其他的自动完成插件,但是它们要么功能不够强大,要么使用起来过于复杂。这时,我发现了nicolasbize/magicsuggest 这个库。 nicolasbize/magi…

    用户投稿 2026年9月3日
    500
  • 百度浏览器广告拦截教程 打造清爽无广告的浏览体验

    百度浏览器广告拦截可通过五种方法实现:1. 使用浏览器自带拦截功能,开启后可屏蔽部分广告,但效果有限;2. 安装adblock、ublock origin等广告拦截插件,拦截效果更强,但可能误杀内容需手动添加白名单;3. 修改hosts文件,通过屏蔽广告域名实现高效拦截,但操作复杂且需管理员权限;4…

    2026年9月3日
    700
  • JavaScript中for循环与onclick事件冲突:如何正确关联循环变量和点击事件?

    JavaScript for循环和onclick事件冲突详解及解决方案 本文分析JavaScript中for循环与onclick事件结合使用时,循环变量值无法正确关联到点击事件的常见问题,并提供解决方案。 问题根源在于onclick事件处理函数的执行时机和JavaScript闭包机制。 问题描述 我…

    2026年9月3日
    000
  • 原生小程序开发:如何实现元素平滑上移并逐渐消失的动画效果?

    原生小程序开发中,如何优雅地实现元素平滑上移并逐渐消失的动画效果?本文提供一种高效解决方案,巧妙利用CSS和JavaScript,避免动画卡顿,提升用户体验。 许多开发者在尝试此效果时,常因动画衔接问题导致视觉效果不佳。 单纯依靠动画库的transition或animation属性,在频繁创建和删除…

    2026年9月3日
    000
  • 原生小程序开发中如何实现元素流畅循环向上移动并消失的动画效果?

    原生小程序开发中,如何实现元素流畅循环向上移动并最终消失?本文将详细讲解如何创建这种常见的动画效果,并确保动画的流畅性和循环性。 许多开发者在实现元素上移动画时,会遇到动画不连贯的问题。这是因为动画执行和元素移除可能存在冲突,导致动画中断。要解决这个问题,需要巧妙地结合动画和元素的动态管理。 核心方…

    2026年9月3日
    000
  • PHP文件上传与数据库记录:常见问题及安全实践

    本文旨在解决PHP文件上传至服务器目录成功但数据库记录失败的问题,并深入分析导致此问题的常见原因,包括不当的SQL查询结果判断和潜在的SQL注入风险。教程将提供一套安全、健壮的文件上传与数据库记录解决方案,强调使用预处理语句和完善的错误处理机制。 在web开发中,文件上传是一个常见的功能需求。然而,…

    2026年9月3日
    100
  • VSCode怎么后台保持开启_VSCode进程后台运行教程

    答案:VSCode关闭后程序停止因其进程架构决定,关闭时主进程会终止所有子进程。实现后台运行的最佳方案是使用远程开发功能,将工作负载运行在远程服务器、WSL或Docker容器中,本地仅作为客户端,关闭本地界面不影响远程任务持续运行。 VSCode本身并没有一个“最小化到托盘并持续运行所有进程”的官方…

    2026年9月3日
    200
  • 原生小程序开发:如何实现元素平滑上移并消失的动画效果?

    原生小程序开发中,如何流畅地实现元素平滑上移并消失的动画效果?本文将提供一种解决方案,有效避免动画不连贯的问题,尤其适用于实时更新的场景,例如聊天信息滚动显示。 许多开发者在小程序开发中会遇到动画效果不流畅的问题,特别是元素动态更新和移除时。 这通常是因为元素的移除和新元素的添加存在时间差,造成视觉…

    2026年9月3日
    100

发表回复

登录后才能评论
关注微信