笔记_HTML+CSS精选

  1. 如何清除一个标签的子标签的浮动?

清除浮动的几种方法:

  1. 父元素有高度,此时就没有浮动的影响了
  2. 父元素如果不愿意设置固定死的高度,而是自动适配,就写overflow:hidden;_zoom:1;
  3. 后面的元素父盒子加上clear:both;盒子还是没有高度,margin失效;
  4. 两个盒子之前加上一个<div class="cl"></div>   .fl{clear:both},隔墙法,盒子还是没有高度,但是marign有用。
  5. 盒子加上::after{content:"",clear:both;} ,内墙法,这个元素自己最后的子元素是一个标准流元素,所以一下子给这个父盒子撑高了。特别好用。

  1. 描述一下浮动会造成什么影响,如何居中一个浮动元素?

【脱标】浮动的元素脱离标准文档流,【贴边】左浮动就会贴左边,又浮动贴右边,贴上一个兄弟元素的边,【字围】字会环绕这个浮动元素,【收缩】不区分行内元素和块级元素了,原来的行内元素现在可以设置宽度、高度,原来的块级元素如果不写width现在会自动缩减为内容宽度。

浮动的元素要想居中,必须相对定位。相对定位利用margin-left:50%; left:-宽度一半。

原理就是margin-left:50%;此时元素的左边线就会到屏幕中线,拉回自己的width一半即可。所以要用相对定位拉动。或者transform:translate(-50%,0);

也可以left:50%; margin-left:-宽度一半;

<style type="text/css">

div{

float: left;

width: 500px;

height: 100px;

background-color: orange;

position: relative;

margin-left: 50%;

left:-250px;

}

</style>

  1. 简单说明绝对定位和浮动的区别和应用。

绝对定位脱离标准文档流,它的参考点是文档的左上角或者右上角。如果有任何父元素有定位属性,此时就依据“子绝父相”规则来设置自己的定位参考元素。在做网页时候非常的灵活方便。制作覆盖效果的时候,会大量使用绝对定位。

浮动脱离标准文档流,通常用于制作并排显示的元素,通常用于大的布局,或者无序列表比如图片的并排。可以使用clear:both;属性让标准流中的其他元素在此之后依次排列。

  1. 当float和margin同时使用时,如何解决IE6的双倍边距?

当浮动的方向和margin是同方向的时候,此时IE6会在这个方向的第一个元素身上产生双倍margin。解决方法:

1) 改变margin的方向,float:left; margin-right:20px;  浮动向左,margin向右

2) 给第一个元素单独写一个类叫做.no1  此时.no1{_margin-left:一半的margin;}

3) 用display:inline;不用浮动了

  1. 行内元素和块级元素的区别,行内元素有哪些,块级元素有哪些?

行内元素不能设置宽度、高度,但是能并排显示,浏览器视行内元素是“文本流元素”。span、a、em、b、u、i。

块级元素能设置宽度、高度,但是不能并排显示。div、h1、ul、p、li、section、header。

  1. CSS引入的方法有哪些?都有什么区别?

外链式(也叫作外联式)<link href="1.css" type="text/css" rel="stylesheet" />

内嵌式(也叫作内联式)<style type="text/css"></style>

导入式<style>@import url(1.css)</style>

行内式<div style="width:200px;background:red;"></div>

内嵌式速度快,但是改版麻烦,可以减少HTTP请求。

外链式方便多个网页同时使用一个样式表。

行内式通常用于开发时候的临时测试,语义不清晰,不能使用。

导入式不好用,因为页面首先加载,然后导入样式表,页面在1s~2s内会有没有样式表的情况,然后突然有了样式。

  1. 在书写高效CSS时,需要考虑哪些问题?

基本原则是:去掉不必要的样式、合并相同的样式、尽可能缩小样式的大小、多用公共类、让css变得不臃肿。

我在工作中,经常使用gulp中有一个插件叫做gulp-csso,可以智能合并相同的样式,比如div p{font-size:10px;color:green;}  p{color:green;} 它会智能变为:div p{font-size:10px;}  p{color:green;}。

回答问题的时候一定要体现自己的知识渊博。

  1. 简述一下什么是内容与表现分离。

HTML就是负责语义,其他什么都不需要管。HTML不要用b、u、i来设置加粗、下划线、倾斜,而是写font-weight:bold;  text-decoration:underline; font-style:italic; 用CSS来表示。再比如,logo可以用h1,用背景替换文字来呈递图片。text-indent:-999em;

CSS负责样式,不要写行内样式。


  1. CSS层叠是什么?

CSS全名叫做层叠式样式表,cascading style sheet,cascading就是层叠的意思。层叠具体有两层含义:

1) 比如一个标签它可以通过多种手段给他添加属性。

<h1 id="logo" class="spec"></h1>

#logo{}

.spec{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值