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,它们在页面上还是会挨着。

以上这篇CSS使用盒模型实例分析就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。

更多CSS使用盒模型实例讲解分析相关文章请关注PHP中文网!

CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析CSS使用盒模型实例讲解分析

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

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

(0)
上一篇 2025年3月11日 02:44:13
下一篇 2025年3月11日 02:44:36

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

相关推荐

  • 浅谈CSS浮动的方法介绍

    元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。 一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 浮动元素之后的元素将围绕它。 浮动元素之前的元素将不会受到影响。   立即学习“前端免费学习笔…

    2025年3月11日 编程技术
    200
  • 浅谈css中的clip裁剪用法介绍

    clip 属性是用来设置元素的形状。用来剪裁绝对定位元素(absolute or fixed)。 clip有三种取值:auto |inherit|rect。inherit是继承,ie不支持这个属性, auto是默认  前两个基本属于打酱油的…

    2025年3月11日
    200
  • 详解css优先级计算方法

    主要的css选择器有id,class,tag,[],:,::等,而通常需要对其优先级进行判断的有id,class,tag,另外内联样式和!important也和css的优先级有关系。 如果将这五种不同情况的优先级以数字的形式来表示的话,其对…

    编程技术 2025年3月11日
    200
  • 浅谈css中margin的重叠

    父子元素margin重叠 解决办法: 给子元素添加浮动属性,相应父元素添加必要的清浮动属性; 给父元素添加边缘属性,如padding、border; 同级元素margin反向重叠 立即学习“前端免费学习笔记(深入)”; 同级元素margin…

    编程技术 2025年3月11日
    200
  • css中float的用法详细介绍

    关于float很早就接触了,下面结合一个小demo谈谈。 1:在页面布局中,假设有两个p,需求是两个p在同一排上;其中解决办法之一就是利用浮动, eg: 登录后复制                     职位简介             …

    编程技术 2025年3月11日
    200
  • css动画和照片清晰度动画的实现方法介绍

    实例如下: 源代码: nbsp;html>donghua.beijing{ border: 1px solid black; width: 100%; height: 800px; background: black; } .a1 i…

    2025年3月11日
    200
  • css样式的巧妙方法进行总结

    针对之前遇到过的一些特殊样式的实现,我今天做个总结,目的有二:一是将这些方法记录下来,以便将来需要用到时查找使用。二为将这些大神们智慧的结晶发扬光大,让广大前端程序猿们能够少走弯路。此贴为更新帖,以后若有好的css样式技巧,小哥我会不定期更…

    编程技术 2025年3月11日
    200
  • CSS实现进度条和订单进度条的方法

    简单地效果图如下:     CSS实现进度条: html结构:       70%   登录后复制 css样式: 立即学习“前端免费学习笔记(深入)”; #progress{       width: 50%;        height:…

    2025年3月11日
    200
  • CSS的相邻兄弟选择器用法示例讲解

    对于有相同父元素的相邻html元素查找便可以使用css的相邻兄弟选择器,这里我们就来看一下css的相邻兄弟选择器用法简单讲解: 可选择紧接在另一个元素后的元素,且二者有相同的父级元素 下面代码中,item2和item3会有效果,而item1…

    2025年3月11日
    200
  • CSS的子元素选择器用法详细介绍

    基础 子元素选择器只能一级一级向下寻找,不能跨越  HTML代码:     this is my web page.    登录后复制 立即学习“前端免费学习笔记(深入)”; CSS代码: p>strong { color: purp…

    2025年3月11日
    200

发表回复

登录后才能评论