首页 > Web开发 > 详细

css知识点问答(一)

时间:2020-08-15 23:08:52      阅读:96      评论:0      收藏:0      [点我收藏+]

1. 引入样式的方式

外部样式

link

@import

区别

技术分享图片

技术分享图片

内部样式

/* 写在头部标签 */
<style>

</style>

行内样式

2. 三行代码画三角形

.triangle{
    width:0px;
    border:100px solid;
    border-color:transparent transparent transparent red;
}

3.属性的继承

可继承的属性

文字属性

font-color: 字体颜色

font-family:字体系列

font-weight:字体的粗细

font-size:字体的大小

font-style:字体的风格

css文本属性

可继承 但是字体颜色遇到a标签,必须给a标签

text-indent:文本缩进

text-align:文本水平对齐

text-decoration 文本修饰

line-height:行高

word-spacing:单词之间的间距

letter-spacing:中文或者字母之间的间距

text-transform:控制文本大小写(就是uppercase、lowercase、capitalize这三个)

列表属性

可继承

list-style:列表风格,包括list-style-type、list-style-image等

不可继承的属性

背景属性

边框属性

其他属性

width height float overflow

4. 单行文本超出时 不换行 隐藏 产生省略号

  • 给定容器宽度 :width value
  • 强制文本在一行内显示 不换行 white-space:nowrap
  • 溢出的内容隐藏:overflow:hidden
  • 溢出时显示省略号 text-overflow:ellipsis

5. css样式属性的层叠(权重)

选择器

  • ID选择器
    • id表示身份,用#id引用该id,在页面中元素的id不能冲恢复,id选择器只能选择单个元素
  • 标签选择器
    • 根据标签名称,选择对应的所有标签
  • 类(别)选择器
    • 选择拥有该类的多个元素,用.class名引用
  • 通用选择器
    • 针对页面上所有的标签都生效

选择器的权重

  • 一般情况下
    • 行内样式优先生效 > id选择器 > class类选择器 > 标签选择器 > 通用选择器
  • 样式冲突的情况下
    • 谁的权重值高(权重之和),谁就先生效
    • 行内样式权重值为1000
    • ID选择器权重值为100
    • 类选择器权重值为10
    • 标签(元素)择器权重值为1
    • 通配符的权重值为1
    • 通用选择器权重值为0

伪类的权重是10

技巧:选择器选择的范围越小越精确,优先级就越高

6. 元素的类型及特点

块状元素

特点

  • 独占一行或一块区域,竖着排列
  • 可以添加宽高
  • 可以设置margin和padding值,上下左右都生效
  • 可以作为其他元素的父元素

行内元素

特点

  • 在默认情况下,元素是挨着排列
  • 在默认情况下,给元素添加宽高是无效
  • 在默认情况下,给元素添加margin和padding值,仅有左右方向生效,上下不生效

行内块状元素

特点

  • 就是块状元素和行内元素的综合
    • 可以设置宽高的属性,来自块状元素的特点
    • 挨着排列的属性,来自行内元素
  • 与其他元素挨在一起的时候,会有默认间距
  • 它有一个专有属性 vertical-align:top/middle/bottom

可变元素

自己有默认的样式

7. 元素的显示与隐藏

使用display:none隐藏元素
使用:hover{display:block} 鼠标经过时,显示元素

.boss:hover .box{display:block}
/* 最好后面的元素是前面元素的后代,在父级元素上悬停鼠标,元素出现 */

opcatity:0
opcatity:1

vsibility:hidden
visibility:visible

8. css可以取负值的属性

  • background-position
  • text-indent
  • margin-left margin-top
  • position的left right bottom top
  • transform
  • z-index
  • text-shadow 文本阴影的水平和垂直方向
  • flex布局的子元素属性order

注意:padding不可以取负值

9. 图片向下撑大3像素的解决办法

  • 给图片本身添加vertical-align:top/middle/bottom可以解决被撑下来的3px问题 (推荐)
  • 左右方向间距的,给图片加display:block转为块级元素 (推荐)
  • 左右方向间距的,给图片或父元素添加浮动float
  • 可以给图片本身或者图片的父级元素添加float:left (图片右边的边距)
  • 给body{}添加font-size为0 (不推荐)

10. 子元素添加margin-top,父元素下移的解决办法

  • 给父元素添加overflow:hiden

  • 给父元素添加一个上边框

  • 给父元素或者子元素添加浮动(不推荐);

  • 把margin改为padding;

  • 触发BFC

11. 图片在一块区域里做水平垂直居中的实现办法

给父级元素设置line-height和text-align:center,给图片设置vertical-align:middle

12.盒模型包含哪些内容

w3c标准盒模型

margin padding border content

13. 定位的属性值有哪些?各自有什么特点

  • static 默认值,无定位
  • absolute 绝对定位,脱离文档流(飘了),定位使用left/right/bottom/bottom,控制自己想去的位置
    • 文档流 给元素添加绝对定位之后,元素会飘起来,别人占据自己的位置
    • 参照物 第一种情况 在该元素设置绝对定位之后,它的父元素身上没有任何定位设置的时候,就参照浏览器的的第一屏做定位(开启定位),使用relative最好,当然使用absolute更好
    • 第二种情况 要围绕父元素做位置移动,就父元素添加定位(最好给相对定位)
    • 层级关系 z-index
  • relative 相对定位
    • 文档流 给元素添加position:relative相对定位后,不会脱离文档流,元素没有飘
    • 参照物 有参照物,相对自己原来的位置做移动
    • 层级关系 z-index
  • fixed 固定定位 相对于浏览器整个窗口做固定定位
    • 文档流 给元素添加固定定位后,就飘了(脱离文档流)
    • 参照物 即使页面过大,出现滚动条,仍然相对于浏览器窗口做定位
    • 层级关系 z-index
  • sticky 粘性定位 主要用来做吸顶效果
    • 没有飘,没有脱离文档流
    • 在页面没有滚动条的时候,只有left属性生效
    • 在页面有滚动条的情况下,left top bottom 方向是生效的,主要是top生效,吸顶效果
    • 层级关系 z-index

14. 小盒子在大盒子中水平垂直居中

纯margin

纯padding

纯定位,子绝父相 子元素设置left和top为具体数值

position定位的 left为50%,top为50% ,高宽配合margin回退自己宽高的-一半

position配合top right bottom left 为0 margin为 auto

position定位配合left top 为50%,transform的translate 回退 -50%

flex实现水平垂直居中

display;flex;
justify-content:center;
align-items:center;

grid网格布局

15.透明属性是哪个?它的兼容性是什么

opacity为0 消失

opacity 为1 出现

解决兼容性

过滤器

在google中的写法

  • opacity:0.4

兼容IE8及以下浏览器

  • filter:alpha(opacity=40) 0.4要写成100倍

16 .高度塌陷解决方案

解决方案

  • 给父元素添加高

    • 缺点:不适合自适应的布局
  • 直接给父元素添加float

    • 缺点:遇到高度自适应的时候就不好用了
  • 给父元素设置overflow:hidden或者auto

    • 缺点:遇到定位就不太好用了(超出隐藏)
  • 在浮动元素的下方,加一个非浮动的空盒子,给该盒子添加clear:both清除浮动

    .p1{
        clear:both;
    }
    
    • clear用于清除浮动,有3个值,left/right/both
    • 缺点:页面中太多的空标签会造成标签的冗余
  • 万能清除法(推荐使用)

    给父元素添加clear公共类名,哪里需要清除,在哪里添加类名clear

    .clear:after{
    	content:"";
        display:block;
        height:0;
        clear:both;
        overflow:hidden;
        visibility:hidden;
    }
    
    
    /* 兼容IE6 */
    .clear{
    	zoom:1;
    }
    
  • 给父元素添加浮动

缺点:需要解决新的浮动问题(不推荐)

  • display:table

    缺点:产生未知bug

17. 一屏网页必须添加什么

一个页面不能出现滚动条,宽高同时自适应

一屏网页:宽高同时100%(body和html)

高度塌陷就是,子元素设置浮动之后,父元素没有设置高度或者父元素需要高度自适应的情况:

子元素设置浮动,高度设置height:auto

18. 五大浏览器对应的内核

技术分享图片

技术分享图片

19. H5有什么特点?请说出6个h5新增加的标签

H5的特点

(1)更简洁、但是在实际开发中要注意书写规范,利于后期维

(2)标签的语义化
语义化的重要性:
① 当页面加载失败的时候,还能够呈现出清晰的结构
② 有利于SEO优化,利于被搜索引擎收录(即便于网络爬虫
的识别)
③ 在项目开发及维护时,语义化的也很大程度上降低开发
难度,节省成本
(3)语法更宽松
(4)多设备跨平台
(5)自适应网页设计

H5的标签

<header>...<header> 头部标签

<footer>...<footer> 尾部标签

<section>...<section> 内容区块

<article>...,article> 表示页面中的独立内容

<aside>...<aside> 标签定义其所处内容之外的内容

<nav>...<nav> 导航

<figure>...<figure>表示一段独立的流内容

<embed>...<embed> embed标签用于定义嵌套的内容,包括各种媒体

<mark>...<mark>高亮显示

  • 可以改变其高亮颜色

<video>...<video> 视频标签

<video src="song.mp3" controls="controls" autoplay=autoplay>
</video>

<audio>...<audio> 音频标签

<audio src="song.mp4" controls="controls" autoplay=:autoplay>
</audio>

<datalist>...<datalist> 智能列表 供其选择

<p>
    /* list里的id要和datalist里的id一致 */
    <input type="text" nmae="a1" list="text">   
</p>

<datalist id="text">
    <option>大班</option>
    <option>班级</option>
    <option>班班</option>
</datalist>

<canvas>...<canvas>canvas可以完成动画、游戏、图表、图像处理等原来需要Flash完成的一些功能

<hgroup>...<hgroup> 标签被用来对标题元素进行分组。

20. 怪异盒

在IE6及其以下版本里,DOCTYPE缺失会触发怪异盒模式

  • 给元素添加的padding值和border值,不会计算在元素原有的宽高,不会把盒子撑大

    /* 可以让W3C标准盒模型变成怪异盒模型 */
    box-sizing:border-box;
    
    
    /* 变成W3C标准盒模型 */
    box-sizing:content-box;
    
    

/* 火狐兼容 */
-moz-box-sizing:content-box;

/* IE兼容 */
-ms-box-sizing:content-box;

/* Opera兼容 */
-o-box-sizing:content-box;


  /* Chrome和sarfi兼容 */
  -webkit-box-sizing:content-box;
  

21. 什么是图片整合技术?css精灵图有什么优势?

优势

技术分享图片

22. css3属性有哪些特点和优势?说出8个css3属性

技术分享图片

23. 背景大小属性里,那个属性值不会被剪裁

文本效果

1. text-shadow 文本阴影

.text1{
    text-shadow:5px 5px 5px pink;
}
  • h-shadow 水平方位移动的阴影(正值向右,负值向左)
  • v-shadow 垂直方位移动的阴影(正值向下,负值向上)
  • blur 模糊的距离,只能是正值(可选参数)
  • color 阴影的颜色 (可选参数)

2. box-shadow 盒子阴影

阴影是不占据位置的

div
{
   box-shadow: 1px 1px 11px 4px #888888 inset;
}
单边盒子阴影
/*  上部 */
.top{
    box-shadow:0 -2px 0 red;
}
/*  右边 */
.right{
    box-shadow:2px 0 0 green;
}
/*  底部 */
.bottom{
    box-shadow:0 2px 0 blue;
}
/*  左边 */
.left{
    box-shadow:-2px 0 0 tomato;
}
h-shadow 必需的。水平阴影,阴影离开盒子的横向距离。允许负值
v-shadow 必需的。垂直阴影,阴影离开盒子的纵向距离。允许负值
blur 可选。模糊半径
spread 可选。阴影的延伸半径,大小
color 可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
inset 可选。从外层的阴影(开始时)改变阴影内侧阴影

3.word-break 强制换行

p.test {
    word-break:break-all;
}
normal 使用浏览器默认的换行规则。
break-all 允许在单词内换行。
keep-all 保留单词完整性,只能在半角空格或连字符处换行。

4. word-wrap 单词换行

.box{
    /* 网址换行 */
    word-wrap:break-word;
}

技术分享图片

字体

@font-face

背景

1. background-clip 背景裁切

技术分享图片

-webkit-background-clip:text;
color:transparent;
/* 或者 */
-webkit-text-fill-color:transparent;

2. background-origin背景原点

技术分享图片

3. background-size 背景中图像的尺寸

技术分享图片

  • length percentage cover会在一定程度上裁剪的
  • contain 不裁剪 ,保持原图宽高比例

圆角

border-radius

如果你在 border-radius 属性中只指定一个值,那么将生成 4 个 圆角。

但是,如果你要在四个角上一一指定,可以使用以下规则:

  • 四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角。
  • 三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角
  • 两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角
  • 一个值: 四个圆角值相同(50%),即正圆

技术分享图片

技术分享图片

边框图片

1. border-image

技术分享图片


颜色特性

技术分享图片

hsl(色调,饱和度%,亮度%)

hsla(色调,饱和度%,亮度%,透明度)

亮度和饱和度需要加%

渐变

渐变是背景图

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

线性渐变
.div:nth-child(1){
    background-image:linear-gradient(yellow,green,blue)
}
  • 从下往上渐变 to top

      background-image:linear-gradient(to top,yellow,green,blue)
    
  • 从左往右right

     background-image:linear-gradient(to right,yellow,green,blue)
    
  • 右上对角渐变to right top

     background-image:linear-gradient(to right top,yellow,green,blue)
    
  • 颜色多给一点

    background-image:linear-gradient(to right top,yellow 80%,green,blue)
    
径向渐变

默认是椭圆

background-image:radial-gradient(circle,yellow 80%,green,blue)

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

多背景图

background:url(img/1.png) no-repeat left top,url(img/2.png) no-repeat right top,url(img/3.png) no-repeat left bottom,url(img/4.png) no-repeat right bottom

24. 什么是BFC?触发BFC的条件有哪些?

块级格式化上下文

独立的渲染区域,需要一定规则触发

是什么

技术分享图片

触发条件

技术分享图片

overflow的值

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。

特性

技术分享图片

25. margin的上下重叠问题怎么解决?

margin的重叠问题

上下两个盒子同时给margiin的时候,会发生重叠,重叠的时候取margin最大值

解决办法

  • 给其中一个子元素添加一个父盒子,添加 overflow:hidden/scroll/auto; display:inline-block;float-left/right;等等 让他俩触发BFC

26. 两栏布局怎么实现?

BFC的区域不与float浮动的盒子重叠,BFC特性实现两栏布局

左列定宽,右列自适应

  • 给左边固定宽 添加浮动,给右边添加overflow:hidden,会实现两栏自适应

  • 给父级设置display:flex,自适应列设置flex:1,均分剩余空间

右列定宽,左列自适应

27. 三栏布局怎么实现?

分情况

两侧定宽,中间自适应

  • 两侧的两列float,中间列给overflow:hidden,但是自适应列的区块和右列的区块,在html中交换顺序,即解析顺序:left center right
  • 两侧的两列float,中间列给margin-left(对应的是左列宽度),margin-right(对应的是右列宽度),但是自适应列的区块和右列的区块,在html中交换顺序,即解析顺序:left center right
  • 两侧的两列给position:absolute,父元素给position:relative,但是自适应列的区块和右列的区块,在html中交换顺序,即解析顺序:left center right
  • 父级设置dsiplay:flex两侧定宽设置宽度,自适应列设置flex:1均分剩余空间

左边两列定宽,右列自适应

28 .transition和animation之间有什么共同点和区别?

技术分享图片

29. transform:translateX(100px) rotateZ(45deg)和transform:rotateZ(45deg) translateX(100px)实现的效果是一样的吗?为什么?

transform:translateX(100px) rotateZ(45deg)是同时沿x轴偏移100px,同时也沿z轴旋转45度

transform:rotateZ(45deg) translateX(100px),是有先后顺序的,即先旋转45度之后,再沿x轴偏移100px

30. 什么是渐进增强和优雅降级

  • 渐进增强
    • 先考虑低版本兼容,再慢慢考虑高版本(更推荐)
  • 优雅降级
    • 先考虑高版本,再考虑低版本

技术分享图片

技术分享图片

31. 移动端布局的方式有哪些

技术分享图片

32 .em和rem的区别?

  • 共同点:都是相对单位,相对于别的元素的改变而变化的

  • 区别:em相对于最近父元素的字号大小、rem相对根元素字号大小

33. 响应式设计的特点(responsive设计特点)

技术分享图片

css知识点问答(一)

原文:https://www.cnblogs.com/hsbolg/p/13510510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!