Web前端基础学习-2

盒子模型

在页面中,我们将所有的元素全部看做是一个盒子,页面布局就是将大大小小不同的盒子堆砌在一起,而一个盒子由以下几部分组成:

padding:内边距,内容到边框的距离;

margin:外边距,其他盒子到当前盒子的边框的距离;

border: 边框;

所以一个元素在页面中实际所占的空间是:

内容+padding+border+margin(注意:padding/margin/border上下或者左右都有,所以计算时要算上设置的值得两倍;)

怪异盒子模型:

怪异盒子模型所设置的宽高即为其在页面中最终所占的位置,边框、内外边距所占的位置越大则内容区域越小。

开启怪异盒子模型的方法:box-sizing:border-box;

其最先由IE浏览器提出并使用,后被广泛使用。

margin塌陷:当使用margin来调整两个元素之间的距离时,并不会以两个元素之间的margin之和来表示,而是以两个元素的margin最大值为准。

解决的方法:触发BFC(会计格式化上下文)

页面中实现多出内容省略号显示的方法(CSS):

首先为容器设置一个宽度;

然后设置文本内容不换行:white-space:nowrap;

之后是设置溢出隐藏:overflow:hidden;

最后则是在内容最后显示省略号:text-overflow:ellipsis;

tips:以上方式仅对单行文本溢出有效(不建议使用)

定位

相对定位:

position:relative;

设置了相对定位之后,元素并没有进行位移,本质上也没有任何变化。

相对定位形影分离,元素的位置不会改变,影子移动到用户所设定的位置。

相对定位的参考点是元素本身,也就是相对于设置了相对定位的元素进行了多少移动,所以当元素进行移动的时候,其影子也会跟着移动。

绝对定位:

position:absolute;

绝对定位移动的是元素本身;

绝对定位的参考点是由其本身向上找,第一个拥有定位属性的祖先元素,当其所有的外层容器都没有定位元素的时候,默认为根元素。

绝对定位以根元素为参考时定位的是首屏左上角,定位值默认为auto,bottom是首屏的下方。

子元素如果设置了绝对定位,最好为父元素设置一个相对定位(父元素设置position:static并不能作为子元素绝对定位的参考)。

固定定位:

position:fixed;

固定定位是相对于浏览器窗口的定位,定位效果类似于平时网页上弹出的小广告的效果,页面滚动而固定定位的元素完全不动。

粘性定位:

position:sticky;

因兼容性太差,这里不多做赘述。

tips:固定定位与绝对定位脱离标准文档流,相对定位并不会脱离标准文档流,当然,固定于绝对定位也是脱离文本流的,不会出现类似浮动所产生的字围效果。

bfc渲染规则:

1、内部的box会在垂直方向一个接一个的放置;

2、box垂直方向距离由margin决定,同一个bfc的两个相邻box会发生margin塌陷;

3、每个元素的marginbox的左边与包含块borderbox的左边相接触;

4、bfc区域不会与float box重叠;

5、bfc就是一个隔离的独立容器,里面元素无法影响外面,反之亦然;

6、计算bfc高度时,浮动的元素也会被算上(所以触发bfc可以消除浮动的影响)。

css当中经常使用的六种文本样式

css 文本样式是相对于内容进行的样式修饰,下面来说下几种常见的文本样式。

首行缩进

首行缩进是将段落的第一行缩进,这是常用的文本格式化效果。一般地,中文写作时开头空两格,类似于此。

该属性的值是允许为负值的。

语法:

text-indent:<length> | <percentage> | inherit

tip:初始值为0;

应用于: 块级元素(包括block和inline-block)

继承性: 有

百分数: 相对于包含块的宽度

案例:首字符下沉

div{
    width: 200px;
    border: 1px solid black;
    text-indent: 0.5em;
}
div:first-letter{
    font-size: 30px;
    float: left;
}  

水平对齐

水平对齐是影响一个元素中的文本的水平对齐方式。

语法:

text-align: left | center | right | justify | inherit

初始值: left

应用于: 块级元素(包括block和inline-block)

继承性: 有

对于IE7-浏览器来说,使用text-align不仅会改变文本的水平对齐方式,也会改变后代块级元素的水平对齐方式

字间隔

字间隔是指单词间距,用来设置文字或单词之间的间距。实际上,"字"表示的是任何非空白符字符组成的串,并由某种空白符包围。

注意:单词之间用空格分开,单词之间的间距 = word-spacing + 空格大小

注意:字间隔可为负值

语法:

word-spacing: <length> | normal | inherit

 初始值: normal(默认为0)

 应用于: 所有元素

 继承性: 有

字母间隔

字母间隔是指字符间距

注意:字母间隔可为负值

letter-spacing:<length> | normal | inherit

初始值: normal(默认为0)

应用于: 所有元素

继承性: 有

文本转换

文本转换用于处理英文的大小写转换。

语法:

text-transform:uppercase(全大写) | lowercase(全小写) | capitalize(首字母大写) | none | inherit

初始值: none

应用于: 所有元素

继承性: 有

文本修饰

文本修饰用于为文本提供修饰线。

注意:文本修饰线的颜色与文本颜色相同。

语法:

text-decoration:none | [underline(下划线) || overline(上划线) || line-through(中划线)] | inherit

初始值: none

应用于: 所有元素

继承性: 无

在首行缩进(text-index)、水平对齐(text-align)、字间隔(word-spacing)、字母间隔(letter-spacing)、文本转换(text-transform)、文本修饰(text-decoration)这6种文本样式中,首行缩进(text-index)和水平对齐(text-align)只能够应用于块级元素(包括block和inline-block),这是最应该注意的地方。

原文地址:https://www.cnblogs.com/h-kj9527/p/11417417.html

时间: 2024-08-30 06:59:59

Web前端基础学习-2的相关文章

Web前端基础学习-3

bfc(block formatting context) 块级格式化上下文 生成bfc的方式: 1.根元素: 2.float属性不为none(脱离文档流): 3.position为absolute或者fixed的时候: 4.display为inline-block.table-cell.table-caption.flex.inline-flex: 5.overflow不为visible(默认). 渲染的流程: 文档解析成对象模型(dom),通过选择器给对应的元素加上样式,根据渲染规则到显存区

web前端开发学习路线

首先分享一下我的经验,想做好一件事,必须要花费一些功夫,然后是多学.多思.多练.多交流.多总结,发现自己的问题,然后一定要克服,在状态不好的情况下,往往要及时调整.新手学习前端的话,一定要想想为什么要学习它,是出于一种什么心态,然后定位好自己,多向大牛请教,多教一些没有自己水平高的人,那样往往能让自己成长的快,切勿急躁.初学可以看一些入门视频教程,之后可以买一些书,做一些小项目,要学会投资,分析自己的现状及能力,实时调整,一定要有自己的想法,懂得创新.在这里一定要对自己做分析,然后找出一种适合的

web前端的学习误区

web前端的学习误区 网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们制作网页带来了极大的方便. 入门快.见效快让我们在不知不觉中已经深深爱上了网页制作.此时,很多人会陷入一个误区,那就是既然借助这么帅的IDE,通过鼠标点击菜单就可以快速方便地制作网页. 那么我们为什么还要去学习html.CSS.JavaScrpt.jQuery等这些苦逼的代码呢?这不是舍简求繁吗? 但

关于web前端的学习一

为什么要写这篇文章呢,首先先声明下,我自己也是菜鸟,写博客也是为了记录自己的学习过程,写这篇关于"关于web前端的学习",主要是给自己定制一个学习路线,向着目标前进咯!ps:我也是看着别人的文章,然后写的,自己看了别人的文章后再记录下来,也会更加印象深刻了. 首先先来说下什么是web前端,以下是从百度知道看到的答案: 其实web前端是一个新词汇,刚开始只有美工和程序,后来随着web的发展,对用户交互的需求越来越高,就衍生出了ui(用户交互页面)这出了视觉效果还要有交互体验,就需要js去

进击的Python【第十三章】:Web前端基础之HTML与CSS样式

进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:utf-8 import socket def handle_request(client): buf = client.recv(1024) client.send("HTTP/1.1 200 OK\r\n\r\n")

2018web前端学习路线,详谈web前端开发学习路线

近几年IT业可谓是发展火热,而且新生了很多的职业.在这众多的新生职业中备受瞩目的当属web前端工程师了,web前端在IT行业真正受到重视的时间不超过五年,但是web前端的发展前景却是非常的可观,好前景高薪资吸引了众多的人投入到前端开发的学习当中去,想学好web前端,这份web前端开发学习路线分享给你. 好的学习方法和掌握好正确的学习路线可以让我们的学习达到事半功倍的效果,如果你新手想要学习web前端的话,那么这份前端的学习路线图很适合你.这份学习路线的课程涵盖JavaScript.HTML5.C

web前端开发学习路线图分享,详谈2018web前端开发学习路线

近几年IT业可谓是发展火热,而且新生了很多的职业.例如安卓开发工程师.iOS开发工程师.在这众多的新生职业中备受瞩目的当属web前端工程师了,前端工程师薪资高,就业发展前景好,更多的人选择了这一职业成为自己的发展方向,想要自己成为一名合格的web前端工程师,web前端开发学习路线图值得大家去看看.挺适合大家借鉴来学习的.web前端课程包括了几个方面的内容: 1.学习HTML,这是最简单,最基本的是要掌握div,formtable.Ulli.P.跨度.字体这些标签,这些都是最常用的,尤其是DIV和

Web前端培训学习心得

web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编跟大家共同来分享一下自己的web前端工程师学习心得. 今天只是想要跟大家分享一下学习心得,在选择web前端工程师培训之前,我逃避过.犹豫过.迷茫过,站在人生的十字路口,不知道该何去何从,但从加入培训班的那刻起,就把心中的疑问打消了,看到大家倾吐自己的心声,我开始认识到每个人都渴望成功,更希望能够战胜

《web 前端基础到实战系列课程》

<web 前端基础到实战系列课程> 摘要: mod_expires&mod_headers可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求. 在使用之前,首先要确认一下"mod_expires"模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的"httpd.conf"设定档来处理 一.浏览器缓存原理 将该行前面的"#"字号删除