css自问自答(一)

1.块级元素和行内元素特性与区别?

块级:display:block

<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。
2.元素的高度、宽度、行高以及顶和底边距都可设置。
3.元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致)

内联(行内):display:inline

<span>、<a>、<label>、 <strong> 和<em>
1、和其他元素都在一行上;
2、元素的高度、宽度及顶部和底部外边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
注意:
内联元素是当做字体来处理的,字体之间是有间隔的,所以内联元素之间也是有间隔的,可以将父元素字体设为0,可以消除间隔,但是重新设置内联元素的字体大小
<div>
<span>1</span>
<span>2</span>
<span>3</span>
</div> *{margin:0;padding:0;}
div{background:green;}
span{
background:red;
}
上面的span之间并没有设置外边距,但是左右之间依然有间距,通过下面方法,就可以实现左右紧紧挨在一起,形成一个整体
*{margin:0;padding:0;}
div{background:green;font-size:0;}
span{
background:red;font-size:12px;
}

内联块状:display:inline-block

<img>、<input>
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
同样存在内联元素之间有间距的问题

2.为文档添加样式的三种方法?

行内样式
<p style="font-size: 12px; font-weight:bold; font-style:italic; color:red;"> 嵌入样式
<style type="text/css">
h1 {font-size:16px;}
p {color:blue;}
</style> 链接样式
<link href="styles.css" rel="stylesheet" type="text/css" /> 额外:在样式表中其他样式之前使用@import url(css/styles2.css)规则

3.浏览器层叠各个来源样式的顺序?

浏览器默认样式表
用户样式表
链接样式表(按照它们链接到页面的先后顺序)
嵌入样式
行内样式

特殊注意

p {color:green !important; font-size:12pt;}

空格!important 分号(;)用于加重声明的权重。

这条规则加重了将文本设置为绿色的权重。于是,就算层叠的下一来源给段落设定
了其他颜色,最终的颜色值仍然还是绿色。

4.src和href使用区别?

Src是引入,使用时需要加载进来,而href是引用,建立一个到原文档的链接

5.name 属性和title 属性?

name 属性规定 input 元素的名称。
name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。 title 属性规定关于元素的额外信息。
这些信息通常会在鼠标移到元素上时显示一段工具提示文本(tooltip text)。

提示:title 属性常与 form 以及 a 元素一同使用,以提供关于输入格式和链接目标的信息。

6.理解盒模型

三个属性

边框(border) 。可以设置边框的宽窄、样式和颜色。
内边距(padding) 。可以设置盒子内容区与边框的间距。
外边距(margin) 。可以设置盒子与相邻元素的间距。

相关的属性也各有 4 个

分别是上(top)、右(right)、下(bottom)、左(left)。
语法:
P {margin: top right bottom left; }
P {padding: top right bottom left; }
那个位置没写,就使用那个相对位置上的值

盒子边框

语法:
{ border:border-width border-style border-color;} (1)全部3个属性,全部4条边
{border:2px dashed red;}
(2)1个属性,全部4条边
{border-style:dashed;}
(3)1个属性,1条边
{border-left-style:dashed;}

外边距合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。
假设有一个空元素,它有外边距,但是没有边框或填充。在这种情况下,上外边距与下外边距就碰到了一起,它们会发生合并

盒子有多大

  • 盒模型结论一:
没有(就是没有设置 width 的)宽度的元素始终会扩展到填满其父元素的宽度为止。添加水平边框、内边距和外边距,会导致内容宽度减少,减少量等于水平边框、内边距和外边距的和。
  • 盒模型结论二:
为设定了宽度的盒子添加边框、内边距和外边距,会导致盒子扩展得更宽。实际上,盒子的 width 属性设定的只是盒子内容区的宽度,而非盒子要占据的水平宽度。

注意:CSS3 新增了一个box-sizing属性,通过它可以将有宽度的盒子也设定成具有默认的auto 状态下的行为(box-sizing:border-box;)。

css自问自答(一)的更多相关文章

  1. css自问自答(二)

    css自问自答(二) 7.掌握定位的一些属性 position 和 display 属性,以及如何浮动(float)和清除(clear)元素,z-index属性 三个属性控制: position 属性 ...

  2. [python]自问自答:python -m参数?

    python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...

  3. 自问自答之VR遐想

    先让我组织一下语言,作为表达能力超弱的战五渣来讲,归纳总结什么的最要命了. 我可以给你分析个1到N条出来,但是一般来讲没什么顺序,想到什么就说什么.而且我属于线性思维,有一个引子就可以按着话头一步步发 ...

  4. [python]自问自答:python -m参数? (转)

    python -m xxx.py 作用是:把xxx.py文件当做模块启动但是我一直不明白当做模块启动到底有什么用.python xxx.py和python -m xxx.py有什么区别! 自问自答: ...

  5. [python]自问自答:python -m参数? (转) ( python2.7 版本 )

    原文地址: http://www.cnblogs.com/xueweihan/p/5118222.html python -m xxx.py 作用是:把xxx.py文件当做模块启动 但是我一直不明白当 ...

  6. vue 源码自问自答-响应式原理

    vue 源码自问自答-响应式原理 最近看了 Vue 源码和源码分析类的文章,感觉明白了很多,但是仔细想想却说不出个所以然. 所以打算把自己掌握的知识,试着组织成自己的语言表达出来 不打算平铺直叙的写清 ...

  7. 区块链自问自答 day1

    区块链自问自答 day1 简要介绍区块链是什么? 区块链(Blockchain)是一种对等网络下的分布式数据库系统 ​ 数据结构中的单向链表是通过每个节点包含一个节点的指针实现"链" ...

  8. 区块链自问自答 day2

    区块链自问自答 day2 区块链的自治性是如何达成的?为什么能够在去信任的环境下自由安全地交换数据? ​ 区块链中有众多的节点,包含了恶意节点.故障节点.正常节点,想要这些节点共同做出一致的决定就需要 ...

  9. golang 数组的一些自问自答

    所有代码基于Go-1.17.一些研究Go数组的自问自答,可以考虑作为面试题. 问题:静态存储区是什么?和堆/栈有什么区别? 回答: 可以参考下列图 堆上存放new产生的大块内存 栈上存放的是程序运行的 ...

随机推荐

  1. fuzhou 1075 分解素因子

    Problem 1075 分解素因子 Accept: 1331    Submit: 2523Time Limit: 1000 mSec    Memory Limit : 32768 KB Prob ...

  2. 解决:jsp 页面不全,response 内容不完整

    前言:今天 jsp 页面输出不完整这个问题困扰了我几个小时,终于发现问题并解决了. 环境: tomcat 8.0.17 x64 jsp springmvc vue 问题: 本来页面正常,但加了几行代码 ...

  3. Qt程序Release版出现 类似 QEventLoop: Cannot be used without QApplication 问题的终极解决方案

    最近在做Qt程序开发,程序在Debug下跑是没有问题的,发布到Release版本后,出现各种问题: 报各种莫名其妙的错误,类似的错误有:   QEventLoop:Cannot be used wit ...

  4. 列表 enumerat 解包, 针对索引和元素

    dic = [1,2,3,4,5] for a,b in enumerate(dic): print(a,b) # a就是索引 b是元素

  5. echarts 点亮中国插件研究

    echarts 真的是个神奇的东西,最近做了一个需要点亮中国的移动端项目,前期就怎样点亮中国做了调研,发现微博当初炫酷的点亮效果就是用echarts做的,于是研究了一下. 一连研究了一堆demo,不管 ...

  6. iview select下拉bug

    1场景:弹框内有一个下拉组件(支持搜索),当选择完数据后弹框关闭,再次打开后,下拉框内的数据是刚才选中的数据.原因:分析后觉得是搜索内容没有清空,导致下拉的数据只有一个解决:调用下setQuery方法 ...

  7. DOM增删改操作

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  8. redis中文

    Redis 是完全开源免费的,遵守BSD协议,先进的key - value持久化产品.它通常被称为数据结构服务器,因为值(value)可以是         字符串(String),         ...

  9. runloop timer

    RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个run ...

  10. 一种特殊场景下的HASH JOIN的优化为NEST LOOP.

    应用场景: 有如下的SQL: select t.*, t1.ownerfrom t, t1where t.id=t1.id; 表t ,t1的数据量比较大,比如200W行.但是两张表能关联的行数却很少, ...