overflow属性、文本溢出、元素类型

CSS overflow属性、文本溢出、元素类型

一、overflow属性

规定当内容溢出元素框时发生的事情

属性值:

  • 默认值:visible,内容不会被修剪
  • hidden:溢出裁切,溢出内容不可见
  • scroll:无论内容是否有溢出都会显示滚动条的位置,溢出的内容可见
  • auto:如果内容有溢出,就显示对应方向溢出的滚动条,没有溢出则不显示滚动条
  • inherit:继承父元素的overflow的属性值

二、文本溢出

语法: text-overflow:clip/ellipsis

  • clip:默认值,只是简单地裁剪,不显示省略号.
  • ellipsis:显示省略号.

单行文本省略号的设置(单行文本溢出显示省略号的必要条件),写法如下:

1、给容器设置一个宽度:width:value;(数值)

2、设置文本强制在一行显示.white-space:nowrap;

3、设置容器溢出部分隐藏不可见:overflow:hidden.

4、显示省略号:text-overflow:ellipsis;
注:
1:上述方法只适合于单行文本省略号的设置,多行文本省略号的设置可以通过js截取字符串来实现或交给后端处理;
2:以后四个属性必须给文本所在最近的容器添加;

三、空白空间属性white-space

属性值:

  • Pre:将代码中的所有空白区域都解析出来,遇到边界不会换行显示,但如果遇到br会换行;
  • pre-line:将代码中的回车换行解析出来,遇到边界会换行;
  • pre-wrap:将代码中的所有空白区域都解析出来,遇到边界会换行;
  • nowrap:将代码中的空白区域都忽略,内容遇到边界不会换行,强制在一行显示,如果遇到br会换行;
  • 默认值:normal;

四、元素类型

元素的分类:块状元素,内联元素

【常用的块状元素】

div、h1、h2、h3、h4、h5、h6、p 、ul、ol、li、dl、dt、dd、form、table、tr

【常用的内联元素】

span、a、b、strong、i、em、u、ins、del、s、sup、sub、img、input

【块状元素与内联元素的区别】

  • 块状元素可以设置宽度和高度,内联元素不可以,内联元素的宽高就是其内容;
  • 块状元素自上而下独占一行显示,内联元素自左向右在一排显示;
  • 块状元素和内联元素都遵循盒子模型的设置(border,padding、margin、width、height)但是内联元素的某些属性不能正常显示;
  • 块状元素一般作为其他内联元素的盒子去使用

display属性

属性值:

  • Block,块状显示:类似在元素后面添加换行符,也就是说其他元素不能在其后面 并列显示
  • inline,内联显示:在元素后面删除换行符,多个元素可以在一行内并列显示
  • Inline-block,行内块:将元素以内联元素显示,但是元素的内容以块状显示,旁边的内联对象会显示在同一行
  • display:list-item;将元素转换为li类型,是li的默认display属性值.
  • display:none; 将元素隐藏不见

注意事项:

  • 给元素添加float相当于添加display:block;
  • 只有inline-block的元素支持vertival-aline;
问题【图片大小不一致如何实现水平垂直居中】

1、给图片找一个参照物,其display属性值设为inline-block,高度为100%,设置vertical-aline:middle,图片设置vertical-aline:middle;
2、给父元素添加display:table-cell,设置vertical-aline:middle;(切记此时父元素不能添加float属性
3、给父元素添加relative,图片本身添加absolute,四周清零,margin:auto;

置换元素和非置换元素

置换元素

浏览器根据元素的标签和属性来决定元素的具体显示内容

  • 例如:img标签的src属性不同决定了网页中显示的图片不同,input标签type属性值不同,决定了网页中显示的input控件类型不同;

常见置换元素:

img,input,object,select,textarea

img为什么可以设置宽度高度?

他的display属性值为inline-block
他是置换元素,置换元素在解析的时候或默认生成一个框

非置换元素
  • 除了置换元素以外,大部分html元素都是非置换元素,其内容直接显示在浏览器中,当给元素设置float后,就等价于转换为块元素;

【备注】:当需要给某个元素设置多个class名时,要使用类名词列表的用法:

	如:<div class=box (空格) box1></div>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值