CSS使用盒模型实例

下面为大家带来一篇css使用盒模型实例分析。内容挺不错的,现在就分享给大家,也给大家做个参考。

盒子是CSS中的基础概念,我们需要使用它来配置元素的外观以及文档的整体布局。

1. 为元素应用内边距

应用内边距会在元素内容和边距之间添加空白。我们可以为内容盒的每个边界单独设置内边距,或者使用 padding 简写属性在一条声明中设置所有的值。

CSS使用盒模型实例

如果使用百分数值指定内边距,百分数总是根包含块的宽度相关,高度不考虑在内。下面代码展示了如何为元素应用内边距。

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

nbsp;html>        Example            p {               border:10px double black;               background-color: lightgray;               background-clip: content-box;               width: 380px;               padding-top: 0.5em;               padding-bottom: 0.3em;               padding-left: 0.8em;               padding-right: 0.6em;           }       

    

        15岁的时候再得到那个5岁的时候热爱的布娃娃,65岁的时候终于有钱买25岁的时候热爱的那条裙子,又有什么意义。           什么都可以从头再来,只有青春不能。           那么多事情,跟青春绑在一起就是美好,离开青春,就是傻冒。       

登录后复制

在代码中,为盒子的每条边应用了不同的内边距,从下面的效果图可以看出效果。此外,设置了 background-clip 属性,因此内边距区域不会显示背景颜色,这样可以突出内边距的效果。

CSS使用盒模型实例

也可以使用 padding 简写属性在一条声明中为四条边设置内边距。可以为这个属性指定1~4 个值。 如果指定4个值,那么它们分别代表顶边、右边、底边和左边的内边距。如果省略一个值,则最佳搭配方案如下:省略左边的值,默认使用右边的值;省略底边的值,默认使用顶边的值。如果只给一个值,则四条边的内边距都是这个值。

下面代码清单展示了如何使用 padding 简写属性。这个示例中还添加了圆角边框,展示了如何使用paddding以确保边框不会在元素内容之上。

nbsp;html>        Example            p {               border:10px solid black;               background: lightgray;               width: 380px;               border-radius:1em 4em 1em 4em;               padding: 5px 25px 5px 40px;           }       

    

        15岁的时候再得到那个5岁的时候热爱的布娃娃,65岁的时候终于有钱买25岁的时候热爱的那条裙子,又有什么意义。           什么都可以从头再来,只有青春不能。           那么多事情,跟青春绑在一起就是美好,离开青春,就是傻冒。       

登录后复制

效果如下图所示,显示了浏览器如何显示代码中指定的圆角边框和内边距。

CSS使用盒模型实例

如果不设置内边距,边框就会绘制在文本上。设置内边距就能确保内容和边框之间留出足够的空间,不会出现这种情况。

 2. 为元素应用外边距

外边距是元素边框和页面上围绕在它周围的所有东西之间的空白区域。围绕在它周围的东西包括其他元素和它的父元素。

CSS使用盒模型实例

跟内边距属性相似,即使是为顶边和底边应用内边距,百分数值是和包含块的宽度相关的。下面代码清单展示了如何为元素添加外边距:

nbsp;html>        Example            img{               border: 4px solid black;               background: lightgray;               width: 150px;           }           #second img { margin: 4px 20px;}       

    

        @@##@@        @@##@@    

    

        @@##@@        @@##@@    

登录后复制

在代码中,下面的两个img元素,为其顶边和底边应用了4像素的外边距,为左边和右边应用了20像素的外边距。可以从下面的效果图中看到外边距围绕元素制造的空白区域,途中上面的两个img元素和下面的两个img元素分部显示的是设置外边距前后的img元素。

CSS使用盒模型实例

外边距有时候不显示,即使设置了某个外边距属性的值。例如,为 display 属性的值设置为 inline 的元素应用外边距的时候,顶边和底边的外边距就不会显示。

3. 控制元素的尺寸

浏览器会基于页面上内容的流设置元素的尺寸。有几条详细规则是浏览器在分配尺寸的时候必须遵循的。使用尺寸相关的属性可以覆盖这些行为。

CSS使用盒模型实例

前三个属性的默认值都是 auto,意思是浏览器会为我们设置好元素的宽度和高度。也可以是用长度值和百分数值显式指定尺寸。百分数值是根据包含块的宽度来计算的(处理元素的高度也是根据这个宽度来)。下面的代码清单展示了如何为元素设置尺寸。

nbsp;html>        Example            p { width:75%; height: 100px; border: thin solid lightseagreen;}           img { background: lightgray; border: 4px solid blueviolet; margin: 2px; height: 50%;}           #first { box-sizing: border-box; width: 50%;}           #second { box-sizing: content-box;}           

        @@##@@        @@##@@    

登录后复制

上述示例代码中有三个关键元素,一个p元素包含了两个img元素。显示效果如下,展示了浏览器如何显示这些元素。

CSS使用盒模型实例

p元素是body元素的子元素。当将p元素的宽度表示为75%的时候,意思是告诉浏览器将p的宽度设置为包含块(此处是body内容盒)宽度的75%,而不论其具体值是多少。如果用户调整了浏览器窗口,body元素也会相应被调整,以确保p元素的宽度总是body内容盒宽度的75%。

3.1 设置一定尺寸的盒子

前面示例中两个img元素设置了相同的高度值(50%),但两个图片的高度在屏幕上看起来不一样。这是因为使用box-sizing属性改变了其中一个元素应用尺寸属性的区域。

默认情况下,宽度和高度是需要计算的,之后才能应用到元素的内容盒。这里说的是如果设置了元素的高度属性是100px,那么屏幕上的真实高度就是100px,这也算上了顶边和底边的内边距、边框和外边距的值。box-sizing属性允许指定尺寸样式应用到元素盒子的具体区域,也就是不需要自己计算某些值。

3.2 设置最小和最大尺寸

可以使用最小和最大相关属性为浏览器调整元素尺寸设置一定的限制。这让浏览器对于如何应用尺寸调整属性有了一定的自主权。

nbsp;html>        Example            img {               background: lightgray;               border: 4px solid blueviolet;               margin: 2px;               box-sizing: border-box;               min-width: 100px;               width: 50%;               max-width: 200px;           }           

        @@##@@    

登录后复制

在代码中,为一个img元素应用了mix-width 和 max-width属性,并将其出事宽度设置为包含块的50%。这样浏览器就有了一定灵活性来调整图像尺寸,使其在代码中定义的最大尺寸和最小尺寸范围内保持50%的关系。浏览器会利用这种灵活性保留图像的高宽比,如下面的显示效果所示:

CSS使用盒模型实例

 PS:浏览器对box-sizing属性的支持情况各不相同。

4. 处理溢出内容

如果尝试改变元素的尺寸,很快就会到达某一个点:内容太大,已经无法完全显示在元素的内容盒中。这时的默认处理方式是内容溢出,并继续显示。下面的代码清单创建了一个固定尺寸的元素,由于尺寸太小,无法显示其中的内容。

nbsp;html>        Example            p {width: 200px;  height: 100px; border:medium double black;}       

    你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。       IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.   

登录后复制

代码中为p元素的width 和 height 属性指定了绝对值,最终显示在浏览器中的显示效果如下图所示:

CSS使用盒模型实例

可以使用 overflow 属性改变这种行为,下表列出了相关的 overflow 属性。

CSS使用盒模型实例

overflow-x 和 overflow-y 属性分部设置水平方向和垂直方向的溢出方式,overflow 简写属性可在一条声明中声明两个方向的溢出方式。下表展示了这三个属性可能的取值。

CSS使用盒模型实例

下面代码展示了溢出属性的用法:

nbsp;html>        Example            p {width: 200px;  height: 100px; border:medium double black;}           p:first-child { overflow: hidden;}           p:last-child { overflow: scroll;}       

    你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。       IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.   

    你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。       IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.   

登录后复制

CSS使用盒模型实例

5. 控制元素的可见性

可以使用 visibility 属性控制元素的可见性。这个属性跟Javascript一起使用能创建一些比较复杂的效果。其取值如下:

CSS使用盒模型实例

下面的代码展示了如何使用JavaScript和几个按钮元素改变元素的可见性。

nbsp;html>        Example            tr > th { text-align: left; background: gray; color: white;}           tr > th:only-of-type { text-align: right; background: lightgray; color: gray;}       

登录后复制            

Rank Name Color Size

                

Favorite:

ApplesGreenMedium                

2nd Favorite

OrangesOrangeLarge    

            

var buttons = document.getElementsByTagName(“button”); for(var i = 0;i < buttons.length; i++){ buttons[i].onclick = function(e){ document.getElementById("firstchoice").style.visibility = e.target.innerHTML; } }

CSS使用盒模型实例

collapse 值只能应用到表相关元素,如tr 和 td。

6. 设置元素的盒类型

display 属性提供了一种改变元素盒类型的方式,这想要会改变元素在页面上的布局方式。下表列出了display 属性允许的取值。

CSS使用盒模型实例

6.1 认识块级元素

将 display属性设置为block值会创建一个块级元素。块级元素会在垂直方向跟周围元素有所区别。通常在元素前后放置换行符也能达到这种效果,在元素和周围元素之间制造分割的感受,就像文本中的段落。p元素表示段落,其默认样式约定中就包括 display 属性取 block 值。不过block 值可应用到所有元素,其用法如下面代码所示:

nbsp;html>        Example            p { border: medium solid black;}           span { display: block; border: medium double black; margin: 2px;}       

你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。   IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.

登录后复制

可以从下图看到span 元素的 display属性 是否设置为 block 值的差别。

CSS使用盒模型实例

 

6.2 认识行内元素

将 display 属性设置为 inline 值会创建一个行内元素,它在视觉上跟周围内容的显示没有区别。

nbsp;html>        Example            p { display: inline;}           span { display: inline; border: medium double black; margin: 2em; width: 10em; height: 2em;}       

你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。   IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.

登录后复制

在上述代码中,为p元素和span元素同时使用了inline值,从下面的效果图可以看出应用样式后的效果:p元素和 span元素中的文本跟剩余文本没有分开,都显示在一起。

CSS使用盒模型实例

使用 inline 值的时候,浏览器会忽略某些值,如 width、height 和margin 。上面的示例代码中,为span 元素定义的这三个属性的值都没有应用到页面布局中。

6.3 认识行内-块级元素

将display 属性设置为 inline-block 值会创建一个其盒子混合了块和行内特性的元素。盒子整体上作为行内元素显示,这意味着垂直方向上该元素和周围的内容并排显示,没有区别。但盒子内部作为块级元素显示,这样,width、height 和 margin 属性都能应用到盒子上。

nbsp;html>        Example            p { display: inline;}           span { display: inline-block; border: medium double black; margin: 2em; width: 10em; height: 2em;}       

    15岁的时候再得到那个5岁的时候热爱的布娃娃,65岁的时候终于有钱买25岁的时候热爱的那条裙子,又有什么意义。       什么都可以从头再来,只有青春不能。那么多事情,跟青春绑在一起就是美好,离开青春,就是傻冒。   

登录后复制

CSS使用盒模型实例

 

6.4 认识插入元素

display 属性设置为run-in 值会创建一个这样的元素:其盒子类型取决于周围元素。

下面代码展示了一个相邻兄弟元素为块级元素的插入元素:

nbsp;html>        Example            p { display: block;}           span { display:run-in; border: medium double black;}       

    By the time we add the countless types of apples, oranges, and other well-know fruit, we are faced with thousands of choices.   

    There are lots of different kinds of fruit - there are over 500 varieties of banana alone.   

Hello 

登录后复制

CSS使用盒模型实例

下面代码展示了一个相邻兄弟元素为行内元素的插入元素,修改上面p的CSS代码:

 p { display: inline;}

登录后复制

CSS使用盒模型实例

6.5 隐藏元素

将display属性设置为none值就是告诉浏览器不要为元素创建任何类型的盒子,也就是说元素没有后代元素。这时元素在页面布局中不占据任何空间。

7. 创建浮动盒

可以使用 float 属性创建浮动盒,浮动盒会将元素的左边界或者右边界移动到包含块或另一个浮动盒的边界。

CSS使用盒模型实例

nbsp;html>        Example            p.toggle {               float: left;               border: medium double green;               width: 40%;               margin: 2px;               padding: 2px;           }       

    15岁的时候再得到那个5岁的时候热爱的布娃娃,65岁的时候终于有钱买25岁的时候热爱的那条裙子,又有什么意义。       什么都可以从头再来,只有青春不能。那么多事情,跟青春绑在一起就是美好,离开青春,就是傻冒。   

    你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。       IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.   

var buttons = document.getElementsByTagName("button"); for (var i = 0; i <buttons.length; i++){ buttons[i].onclick = function(e){ var elements = document.getElementsByClassName("toggle"); for(var j = 0; j < elements.length; j++){ elements[j].style.cssFloat = e.target.innerHTML; } } }

登录后复制

CSS使用盒模型实例

 

阻止浮动元素堆叠

如果设置了多个浮动元素,默认情况下,它们会一个挨着一个的堆叠在一起。使用clear属性可以阻止出现这种情况。clear属性可以指定浮动元素的一个编辑或者两个编辑不能挨着另一个浮动元素。

CSS使用盒模型实例

nbsp;html>        Example            p.toggle {               float: left;               border: medium double green;               width: 40%;               margin: 2px;               padding: 2px;           }           p.clear {clear: left;}       

    15岁的时候再得到那个5岁的时候热爱的布娃娃,65岁的时候终于有钱买25岁的时候热爱的那条裙子,又有什么意义。   

    什么都可以从头再来,只有青春不能。那么多事情,跟青春绑在一起就是美好,离开青春,就是傻冒。   

    你的特别不是因为你在创业,不是因为你进了牛企,不是因为你的牛offer,而是因为你就是你,坚信自己的特别,坚信自己的内心,勇敢做自己。       IT DOESN'T MATTER WHERE YOU ARE, IT MATTERS WHO YOU ARE.   

var buttons = document.getElementsByTagName("button"); for (var i = 0; i <buttons.length; i++){ buttons[i].onclick = function(e){ var elements = document.getElementsByClassName("toggle"); for(var j = 0; j < elements.length; j++){ elements[j].style.cssFloat = e.target.innerHTML; } } }

登录后复制

这里的代码示例是对前一个例子的简单扩展,只是添加了一个新的样式,为第二个p元素清除了左边界的浮动元素。从下面的效果图可以看出这个设置引起了页面布局的改变。(现在两个元素都浮动在包含块的左边界)

CSS使用盒模型实例

 第二个p元素的左边界不允许挨着另一个浮动元素,因此浏览器将这个元素已到了页面下方。元素的右边界没有清楚,也就是说如果将两个p元素的float属性设置为right,它们在页面上还是会挨着。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

CSS中如何使用负margin值来调整居中位置

CSS中如何使用负margin值来调整居中位置

CSS中如何使用负margin值来调整居中位置

CSS使用盒模型实例CSS使用盒模型实例CSS使用盒模型实例CSS使用盒模型实例CSS使用盒模型实例CSS使用盒模型实例CSS使用盒模型实例

以上就是CSS使用盒模型实例的详细内容,更多请关注【创想鸟】其它相关文章!

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

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2895644.html

(0)
上一篇 2025年3月10日 23:01:12
下一篇 2025年3月10日 23:01:30

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • CSS中如何使用负margin值来调整居中位置

    这篇文章主要介绍了css中使用负margin值来调整居中位置的方法,文中同时提到了这种常用方法的一些值得注意的地方,需要的朋友可以参考下 这或许是最常用的居中方法。如果知道了各个元素的大小,设置等于宽高一半大小的负margin值(如果没有使…

    2025年3月10日
    200
  • 关于css3弹性盒模型的介绍

    这篇文章主要介绍了关于css3弹性盒模型的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 Css3引入了新的盒模型——弹性盒模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间,使用该模型,可以很轻松的创建自适应…

    2025年3月10日
    200
  • 关于CSS中权值、层叠和重要性(!important)的分析

    下面为大家带来一篇浅谈css 权值 层叠 重要性(!important)。内容挺不错的,现在就分享给大家,也给大家做个参考。 1、特殊性 权值 有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?我们来看一…

    编程技术 2025年3月10日
    200
  • 关于CSS中视窗单位和百分比单位的使用

    这篇文章主要介绍了详解css中视窗单位和百分比单位的使用,是css入门学习中的基础知识,需要的朋友可以参考下 视窗(Viewport)单位 视窗(Viewport)单位是相对单位,意味着它们没有客观的尺寸。它们的大小是由视窗(Viewpor…

    2025年3月10日 编程技术
    200
  • 通过优先级对比验证CSS控制样式的三种方式

    这篇文章主要介绍了关于通过优先级对比验证css控制样式的三种方式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 大家都知道,CSS的中文名叫做层叠样式表,而CSS在控制样式的时候,有三种引入方式,这里简单介绍下CSS控制样式…

    2025年3月10日 编程技术
    200
  • 关于CSS实现禁止鼠标点击事件的代码

    这篇文章介绍的是通过纯css实现禁止鼠标点击事件,比起javascript来更加灵活,有需要的可以参考学习。 JavaScript有一个preventDefault方法, 他可用以来取消事件的默认动作。比如取消打开链接,选择文本或拖放等。 …

    编程技术 2025年3月10日
    200
  • 关于webpack项目混用css module的方法

    这篇文章主要介绍了webpack项目轻松混用css module的方法,内容挺不错的,现在分享给大家,也给大家做个参考。 前言 本文讲述css-loader开启css模块功能之后,如何与引用的npm包中样式文件不产生冲突。 比如antd-m…

    编程技术 2025年3月10日
    200
  • 关于CSS编程的OOCSS和SMACSS设计模式的介绍

    这篇文章主要介绍了浅谈css编程的oocss和smacss设计模式,作者分析了这两种设计css的不同思路,需要的朋友可以参考下 真心觉得写出 CSS 并不难,但是要写出可被维护的 CSS 比其他程式语言都还难。所幸已经有许多大师级的人物,提…

    编程技术 2025年3月10日
    200
  • CSS制作提示框 ‘正在加载请。。。。。’的方法

    这篇文章主要介绍了关于css制作提示框 ‘正在加载请。。。。。’的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 最近做项目遇到这样的需求,页面加载数据比较慢,一直没有反应,下面小编给大家带来了基于CSS制作提示框 ‘正…

    2025年3月10日
    200
  • CSS 使用Sprites技术实现圆角的效果

    这篇文章主要介绍了关于css 使用sprites技术实现圆角的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 使用CSS Sprites技术画圆角,简单的讲就是把一个圆做在一张图上,定义4个p,每个p取图的一个角做背景,…

    2025年3月10日
    200

发表回复

登录后才能评论