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. IDEA 的 properties 文件的属性字段如何链接到调用的文件

    想要达到的效果: ctrl + 鼠标点击:弹出如下所有使用的文件 问题: 有些 IDEA 使用 ctrl + 鼠标点击不能看到使用的文件. 解决办法: ctrl + 鼠标点击,然后选择设置按钮 然后 ...

  2. webstorm修改文件,webpack-dev-server及roadhog不会自动编译刷新

    转自:http://www.cnblogs.com/ssrsblogs/p/6155747.html 重装了 webstorm ,从10升级到了2016 一升不要紧,打开老项目,开启webpakc-d ...

  3. drupal7,注册成功之后想跳转到指定页面,该怎么破?

     1.hook sigup form alter,修改跳转地址 .还没试过 2.安装一下logintoboggan模块,里面有个注册后跳转到哪个页面的设置 这个对于不写代码的是比较方便的方法    3 ...

  4. Google zxing实现二维码扫描完美解决方案

    最近因项目需求,需要在App中集成二维码扫描的功能.网上找了很多资料,最后决定使用Google的zxing来实现.实现的过程遇到了很多的坑,也是因为这些坑在网上没有具体的解决方案,今天就把我的实现过程 ...

  5. GitHub已将持续集成服务器Janky开源

    GitHub已将Janky开源,这是他们构建在Jenkins之上的持续集成服务器,并在其中增加了聊天自动化工具Hubot. 除了一般的Jenkins功能之外,Janky还通过Hubot对功能进行了补充 ...

  6. 润乾V5手机报表说明文档

    1.手机报表实例页面简要说明 index.jsp 是报表资源列表页面: mbReport.jsp 是报表展现页面: mbParam.jsp是参数报表展现页面: echarts.jsp是带有echart ...

  7. Android横、竖屏幕动态切换(layout-land 和layout-port)

    下面是一个例子程序: 1.首先通过以下语句设置Activity为无标题和全屏模式: // 设置为无标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); ...

  8. Django settings介绍

    """ Django settings for macboy project. Generated by 'django-admin startproject' usin ...

  9. Apache服务器如何通过.htaccess文件设置防盗链?

    Apache服务器通过.htaccess文件设置防盗链 用户经常面对的一个问题就是服务器的流量问题,而站点文件被盗链是其中最为主要的部分.所谓盗链,是指其他网站直接链接我们网站上的文件,一般来说,盗链 ...

  10. selenium模拟鼠标操作

    Selenium提供了一个类ActionChains来处理模拟鼠标事件,如单击.双击.拖动等. 基本语法: class ActionChains(object): """ ...