【前端进阶100天】Day04 css盒模型和文本溢出

今日内容: 1、认识盒子模型 2、盒子模型的组成部分 3、学习盒子模型的相关元素 margin padding 4、文本溢出相关的属性 一、css属性和属性值的定义 盒模型是css布局的基石,它规定了网页元素如何显示以及元素间相互关系。css定义所有的元素都可以拥有像盒子一样的外形和平面空间,即都包含边框、边界、补白、内容区,这就是盒模型。 image 二、盒子模型的相关元素 1、padding的使用方法 说明: 填充:padding,在设定页面中一个元素内容到元素的边缘(边框) 之间的距离。 也称补白。 用法: (1)用来调整内容在容器中的位置关系。 (2)用来调整子元素在父元素中的位置关系。 注:padding属性需要添加在父元素上。 (3)padding值是额外加在元素原有大小之上的,如想保证元素大小不变,需从元素宽或高上减掉后添加的padding属性值 padding是加到盒子里的,会把盒子撑大。 padding是用来改变盒子里内容的位置:文本、图片、元素。 想保留盒子原有大小,需从宽和高上减掉添加的padding属性值。 padding不影响背景图片的位置,背景图片不占位。 属性值的4种方式: 四个值:上 右 下 左 {padding:0px 0px 0px 40px;} 顺时针方向 三个值:上 左右 下 {padding:10px 20px 30px ;} 二个值:上下 左右 {padding:10px 20px ;} 一个值:四个方向 padding:2px;/定义元素四周填充为2px/ 说明:可单独设置一方向填充,如:上方向padding-top:10px; 右方向padding-right:10px; 下方向padding-bottom:10px; 左方向padding-left:10px; 2、margin的使用方法 说明: 边界:margin,在元素外边的空白区域,被称为边距。 margin-left:左边界 margin-right:右边界 margin-top:上边界 margin-bottom:下边界 属性值的4种方式: 四个值:上 右 下 左 三个值:上 左右 下 二个值:上下 左右 一个值:四个方向 margin:2px;/定义元素四边边界为2px/ margin:0 auto;/一个有宽度的块元素在浏览器中或容器中水平横向居中。/ 说明:可单独设置一方向边界,如:margin-top:10px; margin是加到盒子外的,margin不会影响盒子的大小。 margin是用来改变盒子自身的位置。 margin的属性值可为负数,向右向下正值,向上向左负数。 元素移动的起点:从左上开始,当写四个方向时,只计算左和上。 例:margin:20px 20px 20px 20px时元素位于距离上和左边距20px的位置。 margin与padding的区别: margin是加在盒子外的,用来改变盒子的位置。padding是加在盒子里的,用来改变内容的位置。padding和margin没有绝对的,padding会把盒子撑开,需减去padding的值。 三、盒子的实际大小 宽 = 左右margin+左右border+左右padding+width, 高 = 上下margin+上下border+上下padding+height, 例如:一个盒子的 margin 为 20px,border 为 1px,padding 为 10px,content 的宽为 200px、高为 50px, 宽=margin2 + border2 + padding2 + content.width = 202 + 12 + 102 +200 = 262px, 高=margin2 + border2 + padding2 + content.height = 202 + 12 +102 + 50 = 112px。 四、文本溢出相关的属性 1、溢出属性(容器的)overflow 说明: overflow:visible(默认)/hidden(隐藏)/scroll/auto(自动)/inherit; visible:默认值,内容不会被修剪,会成现在元素框之外; hidden:内容(文本/图片/元素)会被修剪,并且其余内容是不可见的; scroll:内容会被修剪,但是浏览器会显示滚动条,以便查看其余的内容; auto:如果内容被修剪,则浏览器会显示滚动条,以便查看其他的内容; inherit:规定应该从父元素继承overflow属性的值。 overflow中的滚动条 1、Overflow内容溢出时的设置 属性: overflow 水平及垂直方向内容溢出时的设置 overflow-x 水平方向内容溢出时的设置 overflow-y 垂直方向内容溢出时的设置 以上三个属性设置的属性值: visible、scroll、hidden、auto。 visible:默认值。使用该值时,无论设置的"width"和"height"的值是多少,其中的内容无论是否超出范围都将被强制显示。 hidden:效果与visible相反。任何超出"width"和"height"的内容都会不可见。 scroll:无论内容是否超越范围,都将显示滚动条。 auto:当内容超出范围时,显示滚动条,否则不显示。 overflow-x/y:scroll 单独给x或y添加auto自动检测 overflow-x/y:hidden 隐藏x、y轴向滚动条 应用: 1)没有水平滚动条:
test
2)没有垂直滚动条
test
3)没有滚动条
test
4)自动显示滚动条
test
自己定义滚动条的颜色 Body { scrollbar-arrow-color: #f4ae21; /图6,三角箭头的颜色/ scrollbar-face-color: #333; /图5,立体滚动条的颜色/ scrollbar-3dlight-color: #666; /图1,立体滚动条亮边的颜色/ scrollbar-highlight-color: #666; /图2,滚动条空白部分的颜色/ scrollbar-shadow-color: #999; /图3,立体滚动条阴影的颜色/ scrollbar-darkshadow-color: #666; /图4,立体滚动条强阴影的颜色/ scrollbar-track-color: #666; /图7,立体滚动条背景颜色/ scrollbar-base-color:#f8f8f8; /滚动条的基本颜色/ scrollbar-highlight-color: #666; /图2,滚动条空白部分的颜色/ } 2、空余空间white-space 说明: white-space:normal/nowrap/pre/pre-wrap /pre-line /inherit 该属性用来设置如何处理元素内的空白; normal:默认值,空白会被浏览器忽略。 nowrap:文本不会换行,文本会在同一行上继续,直到遇到标签为止;强制文本在一行显示。 pre:空白会被浏览器保留,其行为方式类似HTML中的pre标签; 文字可以独占一行,也识别空格和回车。 pre-wrap:保留空白符序列,但是正常的进行换行; 识别空格和回车。 pre-line:合并空白符序列,但是保留换行符; 识别空格和回车。 inherit:规定应该从父元素继承White-space属性的值;(ie浏览器不支持此属性值) 3、省略号显示text-overflow 说明: text-overflow:clip/ellipsis clip:不显示省略号(...),而是简单的裁切; ellipsis:当对象内文本溢出时,显示省略标记; 说明: text-overflow属性仅是...,当单行文本溢出时是否显示省略标记,并不具备其它的样式属性定义,要实现溢出时产生省略号的效果还需定义: (1)容器宽度:width:value; (2)强制文本在一行内显示:white-space:nowrap; (3)溢出内容为隐藏:overflow:hidden; (4)溢出文本显示省略号:text-overflow:ellipsis;

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):