HTML+CSS面试题

1.样式引入的方式有哪几种?

一:内部样式 

<style>/*在这个写样式*/</style>

二:外部样式

方法一:<link rel="stylesheet" type="text/css" href="css/qianfeng.css"/> 

方法二:<style type="text/css"> @import url(css/qianfeng.css);</style> 

三:内联样式

<div style="color:red;">我是盒子</div>


2.w3c标准盒模型包含哪些内容?

在 CSS 中任何元素都可以看成是一个盒子,而一个盒子是由 4 部分组成的:内容(content)、内边距(padding)、边框(border)和外边距(margin)。

标准盒模型认为:盒子的实际尺寸 = 内容(设置的宽/高) + 内边距 + 边框


3.怎么用css边框画箭头超右的三角形?

给盒子设置宽高为0,添加左边框为

border-leftr:100px,soild,red ;

上边框和下边框设置为

border-top:100px,solid,transparent;

border-bottom:100px,solid,transparent;


4.什么是css样式层叠?(css权重问题)

css的权重,指的是css的优先级,css的权重高,样式越生效

        1.class选择器    10

        2.标签选择器      1

        3.id选择器       100

        4.包含选择器   所有的权重之和

        5.内联样式       1000

小结:内联样式 > id选择器 > class选择器 > 标签选择器


5.单行文本超出显示省略号效果怎么实现?

一:给元素添加宽度    width:200px

二:设置文本一行显示 white-space:nowarp

三:设置文本溢出隐藏  overflow:hidden

四:添加省略号  text-overflow:ellipsis


6.什么是css的继承?请写出可以被继承的属性,至少10个。

css继承   父(祖先)元素身上添加了某个属性,子元素自动就有该属性的样式

1.文本类型css   可以继承  字体颜色遇到a必须给a

        color    ont-size    line-height    text-align    text-decoration    font-weight

        font-style    font-family    text-indent    text-transform    letter-spacing

2.列表类型css   可以继承  list-style

3.背景类型css   不能继承

4.其他类型css  width height overflow float等   不能继承


7.元素类型分为哪几种?分别有什么特点?

一、块元素 大标签   block

        特点:

        1.独占一行或者一块区域,是竖着排列的;

        2.默认情况下,可以添加宽高、margin和padding4个方向都生效;

        3.一般可以作为其他元素的父元素


二、行内元素  小标签  inline

        特点:

        1.默认情况下,是挨着(横着)排列,且有之间有默认间距;

        2.默认情况下,给行内元素添加宽高无效,margin和padding只有左右有效,上下不生效;


 三、行内块元素   特殊标签    inline-block

        特点:

        1.块元素和行内元素的综合特点;

        2.有一个自己的私有属性,vertical-align:top/middle/bottom;

        作用:

            2.1可以用来解决bug(图片向下撑大3像素的bug);

            2.2可以配合其他属性一起实现行内块元素做垂直居中效果。


8.图片向下撑大3像素的bug怎么解决?

1.给行内块元素本身添加vertical-align: top/middle/bottom;

2.给行内块元素本身添加display: block;

3.给行内块元素或者父元素添加float: left;(要注意浮动的副作用)

4.给行内块元素的父元素或者body添加font-size:0;


9.未知大小的行内块元素怎么实现水平垂直居中效果?

1.给外层的大盒子添加text-align:center;让行内块元素实现水平居中;

2.给外层的大盒子添加line-height:盒子高度;且给行内块元素本身添加vertical-align: middle;实现垂直居中效果。


10.元素消失和出现的方法有哪些?

display:none            display:block

opacity:0           opacity:1


11.定位的属性值有哪些?分别有什么特点?

1.绝对定位   

position:absolute;

      特点: 1.文档流  脱离文档流,不占位置了

                2.参照物

                    2.1默认情况下,参照浏览器的第一屏做位置移动;

                    2.2参考有定位设置(最好是相对定位)的父元素做位置移动。

                3.层级关系  z-index  值越大,元素就在最上层

2.相对定位   

position:relative;

       特点:1.文档流  没有脱离文档流,占位置在

                2.参照物  参照自己原来的位置做移动

                3.层级关系  z-index  值越大,元素就在最上层

3.固定定位  

 position:fixed;

       特点:1.文档流  脱离文档流,不占位置了

                2.参照物  参照整个浏览器的窗口

                3.层级关系  z-index  值越大,元素就在最上层

4.粘性定位

position:sticky; 主要做吸顶效果

            特点:1.文档流  没有脱离文档流,占位置在                

                    2.参照物  参照整个浏览器的窗口                

                    3.层级关系  z-index  值越大,元素就在最上层

(一)绝对定位   position:absolute;

方位:上top  下bottom  左left  右right

特点:

1.给元素添加绝对定位之后,元素就飘了(脱离文档流),不要自己的位置了;

2.绝对定位是有参照物的:

    2.1默认情况下,是围绕着浏览器的第一屏做位置移动;

    2.2围绕着父元素做移动,父元素身上必须有定位设置(最好是相对定位)才可以围绕着做移动

(二)相对定位   position:relative;

特点:

1.给元素添加相对定位之后,元素没有飘,占位置在;

2.相对定位也有参照物,参照物就是自己原来的位置做移动的;

作用:一般是给绝对定位元素的父元素添加的。


12.一个宽高200*200的小盒子在一个宽高为500*500的大盒子里面做水平垂直居中,请问你有几种实现方案?(7种)

方法一、纯margin + overflow: hidden;

方法二、纯padding

方法三、display:inline-block + text-align:center; + line-height + vertical-align:middle;

方法四、纯定位

方法五、定位 + margin 取负值  重点

方法六、定位 + margin:auto;

方法七、利用定位+transform: translate(-50%, -50%);

方法八、display:flex;+ justify-content:center; + align-items:center;


13.高度塌陷问题怎么解决?(6个)

父元素高度塌陷(父元素的高度为0)

问题的产生:当给所有的子元素都添加了float,父元素以及所有外层元素都没有高度的情况下,就出现高度为0

问题的解决:

1.给浮动元素的父元素添加height;  遇到父元素需要高度自适应的时候就不好用了

2.给浮动元素的父元素添加overflow:hidden/auto/scroll; (bfc)遇到定位就不好用了

 3.给浮动元素的下方添加一个空的块元素,并且给这个空的块元素添加clear:both;(清除浮动);会造成代码的冗余

4.万能清除法,取一个公共的类名,将这个公共类名给道浮动元素的父元素添加即可。

clear:after{

    content:"";

    display:block;

    clear:both;

    height:0;

    overflow:hidden;

    visibility:hidden;

  }

.clear{

     zoom:1;

 }

5.给父元素添加float;不推荐,只了解,会产生新的浮动问题;

6.给父元素添加display:table;不推荐,只了解,会产生新的未知问题;


14.margin-top的bug怎么解决?

        1.给父元素添加overflow:hidden;   如果遇到定位尽量不用

        2.给父元素添加border-top: 1px solid transparent;  尽量父元素高度减1;

        3.给父元素或者子元素本身添加float;  注意浮动的副作用;

        4.改margin为padding


15.五大浏览器对应内核是什么?

•Trident (MSHTML) (IE游览器)

•Gecko (火狐游览器)

•Presto ( 欧朋浏览器)

•Webkit (Safari内核,Chrome内核原型,它是苹果公司自己的内核,也是苹果的Safari浏览器使

用的内核)

•Blink (由Google和Opera Software开发的浏览器排版引擎)。

扩展

1、IE浏览器内核:Trident内核,也是俗称的IE内核; 

2、Chrome浏览器内核:统称为Chromium内核或Chrome内核,以前是Webkit内核,现在是Blink内核;

 3、Firefox浏览器内核:Gecko内核,俗称Firefox内核; 

4、Safari浏览器内核:Webkit内核; 

5、Opera浏览器内核:最初是自己的Presto内核,后来是Webkit,现在是Blink内核; 

6、360浏览器、猎豹浏览器内核:IE+Chrome双内核; 

7、搜狗、遨游、QQ浏览器内核:Trident(兼容模式)+Webkit(高速模式); 

8、百度浏览器、世界之窗内核:IE内核; 

9、2345浏览器内核:以前是IE内核,现在也是IE+Chrome双内核;


16.opacity是什么?它的兼容写法是什么样子的?

透明属性

兼容写法: opacity:0.4;

filter: alpha(opacity=40); 

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

块格式化上下文,它是一个独立的渲染区域,只有块级盒子参与,它规定了内部的块级盒子如何布局,并且与这个区域外部毫不相干。

1、根元素:html

2、非溢出的可见元素:overflow 不为 visible

3、设置浮动:float 属性不为 none

4、设置定位:position 为 absolute 或 fixed

5、定义成块级的非块级元素:display: inline-block/table-cell/table-caption/flex/inline-flex/grid/inline-grid

18.BFC有哪些特性?这些特性给页面带来了什么好处?

块格式化上下文,它是一个独立的渲染区域,只有块级盒子参与,它规定了内部的块级盒子如何布局,并且与这个区域外部毫不相干。

三个好处:解决了margin的上下重叠问题;可以实现两栏布局;解决高度塌陷问题



19.请问什么是两栏布局?实现方案有哪些?

两栏布局   左边固定宽度,右边宽度自适应

        实现方案:

        方法一:float + overflow(BFC 原理)

        方法二:float + margin

        方法三:flex

        方法四:grid

        方法五:利用calc()函数,左边盒子给固定宽和float,右边盒子给宽(calc(100% - 左边width))和float;


20.怪异盒模型是怎么产生的?怪异模式有什么特点?

        怪异盒模型是由于DOCTYPE的缺失,在IE6及其以下版本会触发怪异模式,怪异模式的特点是,给元素添加padding和border值不会把元素给撑大,不需要做减法

        css3属性新加属性  

        box-sizing:border-box; 由W3C标准盒模型变成怪异盒模型 

        盒子的实际尺寸 = 设置的宽/高 = 内容 + 内边距 + 边框


        box-sizing:content-box; 默认值,W3C标准盒模型 

        盒子的实际尺寸 = 内容(设置的宽/高) + 内边距 + 边框



21.H5有什么特点?请写出H5新增加的标签。(8个)

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

2)标签的语义化语义化的重要性∶

    ①当页面加载失败的时候,还能够呈现出清晰的结构

    ②有利于SEO优化,利于被搜索引擎收录(即便于网络爬虫的识别)

    ③在项目开发及维护时,语义化的也很大程度上降低开发难度,节省成本

    3)语法更宽松 

4)多设备跨平台

5)自适应网页设计

1)section表示内容区块,一般入章节、页眉、页脚或者页面中的其他部分。可以与h1-h6等元素结合起来使用,标示文档的结构

2)article表示页面中的一块与上下文不相关的独立内容,譬如博客中的一篇文章或者报纸中的一篇文章

3)aside Aside表示acticle元素的内容之外的,与article元素的内容相关的辅助信息。

4)heater 头部

5)footer尾部

6) nav表示页面中导航链接的部分、①传统的导航条 ② 腾讯新闻 ③侧边栏导航 ④内业导航

7)igure表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元。规定独立的流内容(图像、图表、照片、代码等等)。使用figcaption元素为figure元素添加标题。

    ◆figure是一种元素的组合,带有可选 标题。用来表示网页上一块独立的内容。figure 元素的内容应该与主内容相关,但如果被删除 ,则不应对文档流产生影响

    ◆figcaption表示figure 的标题。从属于figure,并且,figure 中只能放置一个 figcaption

8) embedembed标签用于定义嵌套的内容,包括各种媒体,格式可以是midi、wav、AIFF、AU、MP3、Flash等

9)mark 高亮显示文字,一个比较典型的应用就是在搜索结果中向用户高亮显示搜索关键词

10)vieo定义视频,比如电影片段或其他视频流

<video src="路径地址"width="value" height="value">

    <source src="myvideo.mp4" type="video/mp4"></source>

    <source src="myvideo.ogv" type="video/ogg"></source>

    <source src="myvideo.webm" type="video/webm"></source> 

</video>  

注意∶<video controls poster="/images/pic.gif"></video>poster 属性规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。如果未设置该属性,则使用视频的第一帧来代替。

11)audio 定义音频

12)Dataist

datalist提供一个事先定义好的列表,通过id与input关联,当在input内输入时就会有 自动完成(autocomplete)的功能,用户将会看见一个下拉列表供其选择。


13)canvas 

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

写法:<canvas id="" width="800" height="600">Canvas画布</canvas>


22.什么是图片整合技术?有什么优势?

css sprites直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。其实就是通过将多个图片融合到一张图里面,然后通过CSS background背景定位技术技巧布局网页背景。

优势有二:

1)通过图片整合来减少对服务器的请求次数,从而提高页面的加载速度。

2)通过整合图片来减小图片的体积。


23.请问你会哪些css选择器?

基本类型(class、id、群组选择器等)

属性选择器

伪类选择器(动态伪类、UI元素状态伪类、结构伪类child类型和type类型等)

层次选择器(包含选择器、子代选择器等)。


24.css3属性有什么特点和优势?请说8个css3属性。

    1)让页面效果看起来非常炫酷,用户体验更高。

    2)有利于开发和维护,还能提高网站的性能增加网站的可访问性,可用性。

    3)使网站能适配更多的设备,利于seo网站优化,提高网站的搜索排名。

    text-shadow文字阴影

    box-shadow盒子阴影

    work-break自动换行

    work-wrap英文断句

    @font-size服务器字体

    background-clip背景裁切

    backgro-origin背景原点

    backg-size背景大小尺寸

    border-raidus设置圆角

    border-image图片创建边框

    hsl() hsla() rgb() rgba()颜色及透明度

    linera-gradient线性渐变

    radial-gradient径向渐变

    transition过渡    

    transfrom转换   

    Animation动画



25.transition和animation有什么共同点和区别?

相同点:都是随着时间改变元素的属性值。

不同点:

1.transition需要触发一个事件(hover事件或click事件等)才会随时间改变其css属性;

2.而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元素 css的属性值,从而达到一种动画的效果,css3的animation就需要明确的动画属性值。


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

效果不一样,因为先在X上平移100像素,图形的轴系Z未发生变化

但是先围绕Z旋转90°后,轴系X方位发生改变



27.三栏布局有哪些实现方法?

        三栏布局:左边固定宽,右边固定宽,中间宽度自适应

        实现方案:

        1.利用BFC特性,左边盒子给宽和浮动,右边盒子也给宽和浮动,中间盒子不给宽,给overflow:hidden;(需要将中间的盒子和右边的盒子换位置);

        2.利用float的特点,左边盒子给宽和浮动,右边盒子也给宽和浮动,中间盒子不给宽,给margin-left和margin-right;(需要将中间的盒子和右边的盒子换位置);

        3.利用定位,左边盒子给宽和定位,右边盒子也给宽和定位,中间盒子不给宽,给margin-left和margin-right;(不需要换位置)

        4.利用弹性盒,给三个盒子添加父元素,给父元素添加display:flex;给中间宽度自适应的盒子添加flex:1;

        5.利用calc()函数特性,左边盒子给宽和浮动,右边盒子也给宽和浮动,中间盒子给宽(calc(100% - 左宽 - 右宽))和浮动。



28.请问那些属性可以取负值?请说出5个。

        margin    background-position    text-shadow    box-shadow    z-index    order等



29.移动端布局方式有哪些?移动端的适配方案有哪些?

        浮动布局、弹性盒布局、定位布局、流式布局(百分比布局)、混合布局(%,px等)、等比缩放布局(vw + rem布局)等;适配方案有2种:1种是淘宝适配,使用js适配;2种是网易适配(vw + rem布局)。



30.什么是响应式布局?有什么特点?

        Responsive 网页设计不但要考虑其元素布局的秩序,还要做到“有求必应”,因此需要满足四个条件。

        1、网站必须建立灵活的网格基础;

        2、引用到网站的图片必须是可伸缩的;

        3、不同的显示风格,需要在Media Query上设置不同的样式

        4、meta标签

        注意:缺少任何一个功能,就不能称为是合格的Responsive 网页设计

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容

  • iframe 框架有那些优缺点? 优点iframe 能够原封不动的把嵌入的网页展现出来。如果有多个网页引用 ifr...
    蛋蛋大少爷阅读 680评论 0 1
  • 1. 你知道的网页制作会用到的图片格式有哪些? png-8,png-24, jpeg,gif, svg ,data...
    南崽阅读 691评论 0 1
  • 1.如何理解html语义化 html语义化是指从代码上展示页面的结构,而不是从最终视觉上来表现结构。 1.2 表现...
    林不羁吖阅读 387评论 0 0
  • 1.web标准: (1)结构标准:其语言主要包括XHTML(实现HTML向XML的过渡。)和XML(用于弥补HTM...
    张果果阅读 3,764评论 0 13
  • HTML 1.Doctype作用?标准模式与兼容模式各有什么区别? (1)<!DOCTYPE>声明位于位于HTML...
    lucky婧阅读 732评论 1 4