前端面试会出现的基本知识点html

HTML
1.session的专属性质,div artticle 特殊的session。

2.css reset
什么是 css reset:HTML都有默认样式,在不同的浏览器的默认样式也不一样,这样影响我们页面样式的统一性。并且有的默认样式在不同的浏览器是通过不同的样式生成,比如ul的缩进样式,在IE下是通过margin实现,但是在火狐里面是通过padding来实现的,所以这时候需要清除他们的默认样式,重新定义标签覆盖默认样式。
为什么要重置:不同的浏览器默认样式不同,这样就会影响我们页面样式的统一性。所以要重置。
css reset的内容:

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,
form,fieldset,input,textarea,p,blockquote,th,td {
padding: 0;
margin: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
fieldset,img {
border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
font-weight: normal;
font-style: normal;
}
ol,ul {
list-style: none;
}
caption,th {
text-align: left;
}
h1,h2,h3,h4,h5,h6 {
font-weight: normal;
font-size: 100%;
}
q:before,q:after {
content:'';
}
abbr,acronym { border: 0;
}

3.两栏布局
问题比如:页面由上下两部分组成,下面那部分为footer当页面足够高的时候footer在页面的底部,当页面没有屏幕高时,footer在屏幕的底部,用css来实现
解决思路:给body设一个最小高度100%,给footer一个绝地定位,bottom等于0.
代码实现如下:

<style type="text/css">
  body{min-height: 100%; width: 100%; position: absolute;}
  .top{height: 2300px; width: 100%;background-color: #008000;}
  .footer{height: 20px; width: 100%; background-color: #FFA500; position: absolute;bottom: 0;}
</style>
</head>
<body>

    <div class="top"></div>
    <div class="footer"></div>

</body>

4. 三栏布局:
比如:4个方块横向排列,有什么办法,有什么优缺点,

a.浮动:脱离文档流,需要清浮动。clear: both,

clear是规定清除那一侧的浮动,clear一共有五个值,
left : 在左侧不允许浮动元素。
right :在右侧不允许浮动元素。
both :在左右两侧均不允许浮动元素。
none :默认值。允许浮动元素出现在两侧。
inherit :规定应该从父元素继承 clear 属性的值。

<style type="text/css">
            .clearfix:before,.clearfix:after{display:table;content:"";}
            .clearfix:after{clear:both;}
            .clearfix{*zoom:1} 
            div{background-color: #008000; width: 100px; height: 100px; float: left; margin-right: 10px;}
        </style>
    </head>
    <body class="clearfix">
        <div class="div1"></div>
        <div class="div1"></div>
        <div class="div1"></div>
        <div class="div1"></div>

    </body>
b,定位,定位没有扩展性,当页面大小出现变化时,定位元素,不能做出适应性变化,所以一般不用定位做排序这里也就不做例子了。

c.flex,这是最近比较流行的布局方法,建议深钻。建议查看阮一峰写的关于这方面的知识http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

flex布局中在容器上有6个属性
flex-direction:决定主轴的方向

.div{
    flex-direction:column//主轴的方向是从上到下
    flex-direction:column-reverse//主轴的方向是从下到上
    flex-direction:row//主轴的方向是从左到右
    flex-direction:row-reverse//主轴的方向是从右到左
}

flex-warp:当内容在一行中显示不下的时候的换行方式


    .box{
      flex-wrap: nowrap; //不换行
      flex-wrap:wrap ;//换行第一行在上面
      flex-wrap: wrap-reverse;//换行第一行在下面
    }

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。

.box{
    flex-flow:<flex-direction>||<flex-warp>;
}

justify-content属性是对齐方式

.box{
    justify-content:flex-start;//左对齐(默认)
    justify-content:flex-end;//右对齐
    justify-content:center;//居中
    justify-content:space-between;//两端对其,项目之间的间隔都相等。
    justfy-content:space-around;//每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍;
}

align-items项目对其方式


    .box {
      align-items: flex-start;//交叉轴的起点对其
       align-items:flex-end ;//交叉轴的终点对其
       align-items:center;//交叉轴的中点对其
        align-items:baseline;//如果项目没有设高度或者auto则把页面占满
         align-items:stretch;//项目第一行字的基准线对其
    }

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。


    .box {
      align-content: flex-star;//与交叉轴起点对其
      align-content:flex-end; //与交叉轴终点对其
      align-content:center ; //与交叉轴中点对其
      align-content:space-around;//每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
      align-content:stretch;//轴线占满整个交叉轴(默认值)
    }

flex布局中项目上有6个属性;
order项目的顺序排列,值越小排列越靠前

.item{
    order:<integer>;
}

flex-grow是项目的放大比例,一般默认为0;如果所有的项目为1,其中有一个为2,那么为2 的所占剩余空间是1的两倍

.item{
    flex-grow:num;//默认为0;
}

flex-shrink项目的缩小比例,一般默认值为1;如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。负值无效;

.item{
    flex-shrink:num;//默认是1
}

flex-basis这个属性在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。设置值以后则项目占固定空间


    .item {
      flex-basis: <length> | auto; //默认是auto,
    }

flex是个符合属性,由flex-grow,flex-shrink和flex-basis三个属性组成,默认值为0,1,auto后面两个值可不写
该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)

.item{
    flex:none;
}

align-self这是给单个项目的属性,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。


    .item {
      align-self: auto ;
      align-self:flex-start;
      align-self:flex-end;
      align-self:center;
      align-self:baseline;
      align-self:stretch;
    }

d.inline-block把块状元素转换成内敛元素
它相对于margin:0 auto;的好处是它不用设置父元素的宽度

<style type="text/css">
            .clearfix:before,.clearfix:after{display:table;content:"";}
            .clearfix:after{clear:both;}
            .clearfix{*zoom:1} 
            div{background-color: #008000; width: 100px; height: 100px; margin-right: 10px;display: inline-block;}
        </style>
    </head>
    <body >
        <div class="div1"></div>
        <div class="div1"></div>
        <div class="div1"></div>
        <div class="div1"></div>

    </body>

5移动端的viewport常用尺寸,基于iPhone几。

6伪类和伪元素的区别和用处

  • 伪元素:当文档语言不能选择到特定的位置是,这个时候就需要用到伪元素,比如第一个字母或者第一行。

伪元素有: :first-line,:first-letter,:before,:after

:first-line伪元素的用法:
p:first-line{
color:#fff;
}
:first-letter伪元素的用法
p:first-letter{
color:#fff;
}

还可以与css配合使

<p class="box"></p>
<style type="text/css">
    p.box:first-letter{
        color:#fff;
    }
</style>

:before在元素之前插入或者生成新的内容CSS2
:after在元素之后插入或者生成行的内容css2

h1:before
  {
  content:url(logo.gif);
  }
 h1:after
  {
  content:url(logo.gif);
  }
  • 伪类:
  • css
    :active 向被激活的元素添加样式。 1
    :focus 向拥有键盘输入焦点的元素添加样式。 2
    :hover 当鼠标悬浮在元素上方时,向元素添加样式。 1
    :link 向未被访问的链接添加样式。 1
    :visited 向已被访问的链接添加样式。 1
    :first-child 向元素的第一个子元素添加样式。(匹配的就是元素自身) 2
    :lang 向带有指定 lang 属性的元素添加样式。 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值