Open jirengu opened 7 years ago
Q1:块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
<div>,<h1~h6>,<p>,<form>,<ul>,<ol>,<dl>,<dt>,<dd>,<li>,<table>,<tr>,<td>,<th>,<pre>
等;
2.行内元素:<span>,<strong>,<em>,<a>,<img>,<br>,<button>,<input>,<label>,<select>,<textarea>,<code>,<script>
等;2.块级元素单独占据一整行,行内元素占据的位置只有自身文本宽度的空间;
3.块级元素可以设置宽高,行内元素设置宽高无效;
4.块级元素的padding,margin值设置有效,行内元素padding,margin上下的值设置无效,但左右有效;
Q2:什么是 CSS 继承? 哪些属性能继承,哪些不能?
Q4:单行文本溢出加 ...如何实现? 三个属性,详见Q7
Q5:px, em, rem 有什么区别? 1.px:像素,固定单位; 2.em:相对单位,相对于父元素,例如1em就是相等于父元素的px大小; 3.rem:相对单位,相对于根元素,例如1rem就是相等于根元素的px大小;
Q6:解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么?
<p>、<div>、<h1>~<h6>、<ul>、<ol>、<dl>、<li>、<dt>、<dd>、<table>、<th>、<tr>、<td>、<form>
<a>、<span>、<input>、<img>、<textarea>、<lable>
块级元素和行内元素的区别:
块级元素占据一整行空间,行内元素并排排列。例子:
块级元素可设置宽高,行内元素设置宽高无效,例子:
块级元素padding和margin上下左右都生效,行内元素只有左右padding和margin生效,行内元素的上下padding对背景色和边框生效,但是不占据空间,例子:
块级元素可以包含块级元素行内元素,行内元素只能包含行内元素和文本。
给文本设置一下属性可实现...效果:
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
.triangle{
width:0px;
height:0px;
background-color:transparent;
border-top:100px solid green;
border-bottom:100px solid transparent;
border-left:100px solid transparent;
border-right:100px solid transparent;
}
</style>
</head>
<body>
<div class="triangle"></div>
</body>
</html>
...
如何实现?<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
div{
width:75px;
height:45px;
border:1px solid red;
}
p{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
</style>
</head>
<body>
<div>
<p>我是中国人</p>
</div>
</body>
</html>
px | em | rem |
---|---|---|
固定单位 | 相对单位,相对于父元素字体大小 | 相对单位,相对于根元素(html)的字体大小 |
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
body
元素设定为字体大小为12px(Chrome浏览器最小字体为12px),其中的字体待选为:tahoma字体,arial字体,Hiragino Sans GB字体,宋体,sans-serif字体。width: 0;
height: 0;
border: solid 50px transparent; /*制作透明正方形*/
border-bottom: solid 50px red; /*向底部边框上色,使其显现三角形*/
white-space: nowrap; /*设置文本单行显示且不折行*/
overflow: hidden; /*设置文本超出边框部分隐藏不显示*/
text-overflow: ellipsis; /*设置文本添加 “……” */
<html>
,浏览器默认字体大小为16px;因此通过控制一个参考值-根元素字体大小就可以控制所有字体的大小
<span></span>
去包裹<p></p>
没有任何效果。css继承:父标签设置的样式同时也会应用到子孙标签上。 eg: 可以继承的样式:
所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、 font-family、font-size、font-style、font-variant、font-weight、text- decoration、text-transform、direction。
块状元素可继承:text-indent和text-align。
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可继承:border-collapse
不可以继承的样式:
display、margin、border、padding、background、height、min-height、max- height、width、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、 page-bread-before和unicode-bidi
px:绝对的尺寸单位;
em:相对的尺寸单位,参考物是父元素中的对应属性值;
例如:父元素中设置font-size=10px;子元素中设置font-size:2em; 那么子元素中的实际font-size=10px*2=20px;
rem:相对的尺寸单位,参考物是根节点<html>
标签,使用方法和em类似;
设置body中的字体样式为:大小12px,1.5倍行高,字体使用tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif
从左到右依次选择,直到选中可用字体;
字体中的数字符号是字体名称的unicode码,代表“宋体”。
块级元素有:h1~h6,div,p,ol,oi,ul,li,dl,table,form,hr,address,blockquote 行内元素有:a,span,input,img,em, strong,label等
1、块元素的宽度占据父容器整行,行元素占据本身。
2、块元素的width
和height
可调,而行元素的宽高不可调,只决定于行元素的内容。
3、块元素能容纳块元素和行内元素,而行元素只能容纳文本和其他行内元素。
4、块元素对margin和 padding 设置都有效,而行元素只对左右margin,左右padding有效。特别地,行元素的上下padding也有效果,但上下padding只撑开背景色,文档内容不占据空间。
CSS
继承? 哪些属性能继承,哪些不能?...
是如何实现的?关键CSS修饰代码:
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
PS:通过验证,单行溢出效果只对块元素有效,对行元素无效。
1、px是只实际的像素大小,即绝对大小。 2、em是只相对于父容器的字体大小的倍数,比如:父容器的字体大小是12px。则器子孙元素中 1em就是12px,2em就是24px. 3、rem是相对于根节点html体设置的字体大小的倍数。比如:html的字体大小是12px。则器子孙元素中 1em就是12px,2em就是24px.
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
1、上面这段代码的意思是:给body元素设置字体的大小是12px,行高是字体大小的1.5倍,字体的样式有:tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif这几种,浏览器查找用户的字体库,如果有第一种就使用第一种,如果没有查找第二种,以此类推。 2、添加引号的原因:字体名称中包含空格,需要用半角状态下的单引号或双引号引起来 3、字体里的数字符号代表字体名称的Unicode码,因为在CSS中设置字体时,直接书写中文的情况下若编码不匹配可能导致乱码,保险的方式是:将字体名称用Unicode来表示。 字体Unicode码的获取方式如下: 在开发者工具的console中输入:escape("宋体")
行内元素:a, span, b(bold), u(underlined), i(Italic), s(Strikethrough), strong, em, ins, del .
块级元素:p, h1-h6, div, ul, li, ol, dl, dt, dd, div.
区别:
1.css继承就是子元素可以继承父元素的样式。
2.
1.)以text-
开头的,如:text-indent(文本缩进),text-align(文本对齐), text-vertical, text-decoration(文 本修饰), text-shadow(文本阴影)。
2.)以font-
开头的属性,如:font-style(字体样式), font-weight(字体粗细),font-size(字体大小),font-family(字体类型)。
3.)以line-
开头属性,如:line-height.
4.)color也是可以继承的。(特殊a
链接)
2.不能继承:
1.)a标签的颜色不能继承,给a标签设置颜色或者修改其颜色,一定要直接作用在a标签上面。
2.)h标签的大小不能继承,如果一定要修改h标签的大小直接作用在h标签上面。
3.)div的高度如果不设置由内容来决定(没有内容那么高度为0),宽度默认由父元素继承过来。
4.)其他一些:display, border, margin, padding等都不能被继承。
1.px:像素,固定单位; 2.em:相对单位,相对于父元素字体大小; 3.rem:相对单位,相对于根元素(html)字体大小;
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
1.代码作用:
该段代码设置了body的font样式,字体大小为12px,行高是字体1.5倍的像素值,后面则是设置的字体类型,用逗号隔开,浏览器在浏览的时候如果第一种字体类型没有,就会用第二种,以此类推,如果都没有就会采用系统默认字体 , sans-serif
就是浏览器默认字体,当你的首选字体列表浏览器都没有的时候,在最后提供一个sans-serif
字体,至少可以确保浏览器能提供同一个字体系列中的一个通用字体。
2.字体为什么要加引号:
采用中文字体时需要在字体名两边加上引号;采用英文字体名时如果一个字体是单个单词不需要加引号,但如果一个字体名中包含多个单词就需要在单词两边加上引号就像:‘’Hiragino Sans GB‘’,这样做是为了防止不加引号可能导致用户浏览器不能识别字体,产生乱码现象;
3.字体里的数字符号代表什么:
代表字体的Unicod码,Unicode码全球通用,用该码表示字体是最保险的,获得该码的方式可以在开发者工具的console控制台中输入escape指令,如下图:
继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。
给文本添加三个属性
white-space:nomal;
设置文本不换行;
overflow:hidden;设置文本溢出隐藏; text-overflow:ellipsis;
设置溢出部分为“...”
px:绝对单位; em:相对单位,相对于父元素的字体大小; rem:相对单位,相对于根元素(html)的字体大小
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
行内元素:a b span img input select strong;
块级元素:div ul ol li dl dt dd h1 h2 h3 h4…p ;
其中“<img> <input>”为空元素
行内元素与块级元素直观上的区别:
3.css实现一个三角形 圣诞树~~
4单行文本溢出加 ...如何实现?
white-space:nomal; 设置文本不换行;
overflow:hidden; 设置文本溢出隐藏;
text-overflow:ellipsis; 设置溢出部分为“...”
5.px, em, rem 有什么区别
px:绝对单位;
em:相对单位,相对于父元素的字体大小;
rem:相对单位,相对于根元素(html)的字体大小
在web app中建议使用rem,web app需要大量的自适应,使用rem可以更好的去适应。(em由于是根据父集,一旦层级过多,容易造成找不到‘父集’) 产考资料
解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
这段代码把font属性写在了一起,设置了body的字体大小为12px、行高1.5倍、字体样式(浏览器会从第一个字体开始查找,匹配用户终端里有无此字体,有则应用,无则继续查找,都没有就应用浏览器默认字体);
字体符号代表的是改字体的‘Unicode码’表示方式,主要目的为,是浏览器明白使用的字体。例如
font-family:"微软雅黑",一旦计算机本身并没有安装中文字体,则浏览器无法识别,造成乱码。
font-family:'\5FAE\8F6F\96C5\9ED1' 等同于font-family:"微软雅黑",但不管计算机安装何种字体,都能识别
网络出现问题,无法上传~~~ 任务六
常用的块级元素有:<p>、<div>、<h1>~<h6>、<ul>、<ol>、<dl>、<li>、<dt>、<dd>、<table>、<th>、<tr>、<td>、<form>
常用的行内元素有:<a>、<span>、<input>、<img>、<textarea>、<lable>
1 white-space:nomal;
:设置文本不换行;
2 overflow:hidden;
:设置文本溢出隐藏;
3 text-overflow:ellipsis
: 设置溢出部分显示为"...”
px:绝对单位; em:相对单位,相对于父元素的字体大小; rem:相对单位,相对于根元素(html)的字体大小
代码设置了字体的大小,行高(大小为12px,行高为1.5倍)。后面设置的是字体,若是用户字体库中没有第一种字体,顺延到下一种字体。 其中一段字符加引号是因为这个字体中有空格,若是不加空格,则会被认为是3种不同的字体。 数字符号代表了字体的Unicod码
问题一:块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
块级元素有: div, h1~h6, p, hr , br, ul ,ol, li, form, table, dd, dt, tr, td, th
行内元素有:a, span, img, babel, b, em, i, strong, br, input, select, ,textarea
区别1:块级元素单独占据一整行,行内元素占据的位置只有自身文本宽度的空间;
区别2:块级元素可以包含文本,块级,行内元素,而行内元素只能包含文本和行内元素;
区别3:块级元素可以设置宽高,行内元素设置宽高无效;
区别4:行内元素设置上下margin无效,设置上下padding无效,只能撑大背景色与边框;而对于块级元素有效
问题二:什么是 CSS 继承? 哪些属性能继承,哪些不能?
简而言之就是继承父亲级元素和上一级元素的样式属性。
不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。(注:基本上什么盒子外边距、内边距,还有定位什么的是不能被继承的)
所有元素可继承:visibility和cursor。
内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
终端块状元素可继承:text-indent和text-align。
列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可继承:border-collapse。
问题三:用 CSS 实现一个三角形
问题四:单行文本溢出加...如何实现?
给元素添加3以下个属性:
overflow:hidden; /*设置溢出隐藏*/
text-overflow:ellipis; /*文本溢出后添加省略号*/
white-space:nowrap; /*强制不换行*/
问题五:px, em, rem 有什么区别?
px: px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
em: em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(EM特点1. em的值并不是固定的;2. em会继承父级元素的字体大小。)
rem:rem是CSS3新增的一个相对单位(root em,根em)。区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。
六:解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么?
body{font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;}
1.此段代码作用是声明body下字体大小12px,行高是字体大小的1.5倍,字体的样式有:tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif这几种。(浏览器会根据声明的字体依次往下查找用户是否有该字体,如果有就使用户有第一个,没有就下一个,如果都没有就会采用浏览器的默认字体)。
2.采用中文字体需要在两边加上引号,单个英文单词名称的字体不需要加,多个单词名称的字体和中文名称字体需要加。添加引号目的是为了防止浏览器不能识别,防止产生乱码。
3.字体中的数字符号是Unicode码,Unicode码全球通用。可以在控制台中输入escape命令获得Unicode码。
问题七:效果实现 任务七效果实现
问题八:效果实现 任务七效果实现
黄依婷 1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 块级元素:div h1 h2 h3 h4 h5 h6 p hr form ul dl ol pre table li dd dt td th 行内元素:em strong span a br ing button input label select textarea code script 区别1:块级元素包含块级元素和行内元素;行内元素只包含行内元素和文本。 2:宽高只对块级元素设置生效,对行内元素设置无效。 3.块级元素单独占据一整行,行内元素占据的位置只有自身文本宽度的空间。
4.块级元素的padding,margin值设置有效,行内元素padding,margin上下的值设置无效,但左右有效。
2.什么是 CSS 继承? 哪些属性能继承,哪些不能? 不可继承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。 所有元素可继承:visibility和cursor。 内联元素可继承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。 终端块状元素可继承:text-indent和text-align。 列表元素可继承:list-style、list-style-type、list-style-position、list-style-image。
3.用 CSS 实现一个三角形
4.单行文本溢出加 ...如何实现
5.px, em, rem 有什么区别 px :像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。 px 特点:
em :是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册) em 特点:
rem是CSS3新增的一个相对单位(root em,根em),这个单位引起了广泛关注。区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。
6.解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么? body{ font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif; } 这段代码把font-size、line-height、font-family三个属性写在了一起,设置了body的字体大小为12px、行高1.5em、字体样式(浏览器会从第一个字体开始查找,匹配用户终端里有无此字体,有则应用,无则继续查找,都没有就应用浏览器默认字体); 字体加引号是因为字体如果有空格,浏览器会不能识别,产生乱码; 字体里的数字符号是Unicode码(可以认为是世界上任意一种文字的特定编号),在 CSS 中设置字体时,直接写字体中文或英文名称浏览器都能识别,直接写中文的情况下编码(GB2312、UTF-8 等)不匹配时会产生乱码。保险的方式是将字体名称用Unicode来表示。 将中文字体钻换成Unicode码的方法是:打开控制台输入 escape('需转换的中文字体'),把 %u替换成 \ 即可。
<div>、<p>、<ul>、<ol>、<h1-h6>、<dl>、<dd>、<dt>、<li>、<tr>、<form>、<table>、<th>
...<span>、<img>、<a>、<button>、<input>、<strong>、<label>、<select>
...1 块级元素设置背景颜色是一行而行内元素只有文本的长度;
不可以继承的有:display,border,width,height,padding,margin...
可以继承的有:color,font-size,line-height,font-family,list-style...
em:相对单位,相对于父元素的字体大小;
rem:相对单位,相对于根元素(html)的字体大小
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
加引号是因为字体的名字中包含空格,避免浏览器解析时候把它解析成多个词汇。
字体里的数字符号代表Unicode码,为了避免直接写中文的情况下编码不匹配时会产生乱码的情况,将字体名称用Unicode来表示。'\5b8b\4f53'就代表宋体。
div;h1~h6;p;hrform;ul;dl;ol;pre;tableli;dd;dt;tr;td;th
em;strong;span;a;br;img;button;iput;label;select;textareacode;script
...
如何实现?1、white-space:nomal;
:设置文本不换行;
2、overflow:hidden;
:设置文本溢出隐藏;
3、text-overflow:ellipsis
: 设置溢出部分显示为"...”
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
这段代码的作用是:
body
元素设置字体的大小是12px(Chrome浏览器最小字体为12px),行高是字体大小的1.5倍,其中的字体待选为:tahoma字体,arial字体,Hiragino Sans GB字体,'\5b8b\4f53',sans-serif字体这几种,浏览器查找用户的字体库,如果有第一种就使用第一种,如果没有查找第二种,以此类推。梁树汉
1.块级元素可以包含块级元素、行内元素,行内元素只能包含行内元素和文本。
2.块级元素占据一行位置,行内元素之占据本身内容大小。
3.宽高设置只对块级元素有效,对行内元素无效(块级元素和行内元素可以进行互换)
4.行内元素设置上下margin、padding无效。
在内容层面(html)存在很多嵌套关系,在设计样式(CSS)的时候很多子元素的属性会继承父元素的样式。
块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别
什么是 CSS 继承? 哪些属性能继承,哪些不能?
能继承的元素
文本:text-align
、letter-spacing
、word-spacing
、text-indent
字体:size
、family
、line-height
、weight
列表:list-style-type
颜色: color
// a
标签不能继承父级的颜色,因为他会被自身的自带的默认颜色给覆盖。
不能继承的元素
display
/ float
/ padding
/ margin
/ 背景、例如背景图片等
用 CSS 实现一个三角形
单行文本溢出加 ...如何实现?
white-space:normal;
overflow:hidden;
text-overflow:ellipsis;
px, em, rem 有什么区别
px | em | rem |
---|---|---|
px是绝对像素大小 | em是相对于夫级元素大小 | rem是相对于根元素大小 |
解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么?
body{
font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif;
}
tahoma
、arial
、Hiragino Sans GB
\5b8b\4f53
、sans-serif
从左往右依次选择。黄维宇
任务一 块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 总结块级元素和行内元素的区别: 1.块级元素可以包含块级元素和行内元素,行内元素只能包含行内元素和文本。
box1包含了h1,但是用span包含box2却不行;
2.块级元素占据一整行,行内元素只占据自己本身。
通过背景色大家可以发现,块级元素会占据整行,行内元素只占据本身。 3.块级元素能设置宽高,行内元素设置宽高无效。
h1和span一样设置了宽高,span不生效。
4.块级元素可以设置上下左右的margin和padding;行内元素可以设置左右的margin和padding,上下margin和padding无效。(但是可以撑开border和背景色)
很显然,上面的h1标签的margin和padding都正常,span标签的左右也是生效的。
任务二 什么是 CSS 继承? 哪些属性能继承,哪些不能? 字体/文本/颜色/列表,这种特性一般可以继承 display/float/padding和margin,这类专门声明了元素状态。规则的一般不能继承
任务三 用 CSS 实现一个三角形
任务四
单行文本溢出加 ...如何实现? white-space: nowrap; 不让这个元素里面的文字换行。 overflow: hidden; 溢出的文字会被隐藏。 text-overflow: ellipsis; 设定溢出的文字样式。
任务五 px, em, rem 有什么区别 px是固定的像素单位;em是父元素的字体大小,1em是父元素字体的100%;rem是根元素的字体大小,1rem是根元素(html)字体大小的100%;
任务六 解释下面代码的作用?为什么要加引号? 字体里的数字符号代表什么? body{ font: 12px/1.5 tahoma,arial,'Hiragino Sans GB','\5b8b\4f53',sans-serif; } 这是说,字体样式是12像素大小,行高是1.5倍,字体优先选择顺序是 tahoma,arial,Hiragino Sans GB,\5b8b\4f53,sans-serif; 字体加引号是因为字体如果有空格还不加引号的话,浏览器可能会以为这是两个字体 字体的数字代码unicode编码,用审查元素的console里的escape('xx')的方法得到xx的编码写法,用在font-family里。
任务八 代码 [效果]
课程 PPT
课程视频
课程任务
...
如何实现?课程预习