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. 深入理解MyBatis的原理(三):配置文件(上)

    前言:前文提到一个入门的demo,从这里开始,会了解深入 MyBatis 的配置,本文讲解 MyBatis 的配置文件的用法. 目录 1.properties 元素 2.设置(settings) 3. ...

  2. JAVA虚拟机的生命周期

    一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...

  3. MyBatis入门(二)—— 输入映射和输出映射、动态sql、关联查询

    一.输入映射和输出映射 1. parameterType(输入类型) 1.1 传递简单类型 <select id="getUserById" parameterType=&q ...

  4. Centos7 安装 ActiveMq

    1.安装 # cd /usr/local/src/# wget http://mirrors.shu.edu.cn/apache//activemq/5.15.3/apache-activemq-5. ...

  5. dubbo直连代码示例

    我们都知道dubbo是个分布式的RPC工具,等以后有时间能力允许的话,会好好写下dubbo,当在测试环境我们联调或想指定机器执行之时,是不需要ZK这类调度工具的,当然dubbo也提供了配置的解决方案, ...

  6. JSON.stringify时间的问题

    使用Element UI控件el-date-picker后台传值用到JSON.stringify转换字符串传后台发现输出国际标准时间(ISO),减少了8个小时, 解决方式: 由于JSON.string ...

  7. PHP链接mysql 出现:由于目标计算机积极拒绝,无法连接

    1.PHP链接mysql 出现:由于目标计算机积极拒绝,无法连接 2.原因是mysql服务没有启动,图标呈现红色 3.启动服务即可,打开cmd,输入net start mysql即可 4.启动后,图标 ...

  8. arcgis10.3下载,arcgis pro的下载地址

    链接:http://pan.baidu.com/s/1eQ2BkCM 密码:fmkh

  9. Keras & Theano 输出中间层结果

    Keras & Theano get output of an intermediate layer 1.使用函数模型API,新建一个model,将输入和输出定义为原来的model的输入和想要 ...

  10. Kubernetes核心概念简介

    本文将会简单介绍Kubernetes的核心概念.因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍.相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概 ...