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),通过选择器给对应的元素加上样式,根据渲染规则到显存区域,渲染过程中用到的数据通过上下文来获取。

bfc:渲染时用于保存临时数据和获取外部数据的容器。

HTML和body都是bfc。

bfc的应用:

自适应两栏布局;

清除内部浮动;

防止垂直margin塌陷;

.......

响应式布局:

三要素:弹性图片、媒体查询、弹性布局

响应式布局开发概念:移动端优先和PC端优先

根据当前项目的用户比例进行设计,项目的主要用户为移动端用户时采用移动端优先布局,否则采用PC端优先布局。

视口:

布局视口:网页在移动端中渲染出的区域,用来加载网页;

可视视口:浏览器的窗口;

理想视口:由乔布斯提出,当布局视口大小与可视视口大小相同的时候就是理想视口。

css伪元素

伪元素根据字面理解就是伪装成元素,但是伪元素并不是元素,而是于生成的内容相关联。生成内容主要指由浏览器创建的内容,而不是由标志或内容来表示。生成内容主要由:before和:after伪元素来实现,当然伪元素还包括:first-line,:first-letter和::selection。

:first-letter

:first-letter设置一个元素第一个字母的样式。

注意1:所有前导标点符号应与第一个字母一同应用该样式

注意2:只能与块级元素关联

注意3:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-letter中存在连接符的原因

示例:

div:first-letter {
    color:red;
}

:first-line

:first-line设置元素内容第一行文本的样式。

注意1:只能与块级元素关联

注意2:只有当选择器部分和左大括号之间有空格时,IE6-浏览器才支持。因为first-line中存在连接符的原因

示例:

div:first-line {color:red;}

:before(IE7-浏览器不支持)

在元素内容的最开始插入生成内容

注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用

示例:

div:before{content:"前缀"}

:after(IE7-浏览器不支持)

在元素内容的最后插入生成内容

注意:默认这个伪元素是行内元素,且继承元素可继承的属性;IE7-浏览器中必须声明!DOCTYPE,否则不起作用

示例:

div:after{content:"后缀"}

::selection(IE8-浏览器不支持)

匹配被用户选择的部分

注意1:firefox浏览器需要添加-moz-前缀

注意2:只支持双冒号写法

注意3:只支持颜色和背景颜色两个样式

div::selection{color: red;}

下面是伪类元素速查表:


/* Typographic Pseudo-elements */
::first-line            /* 选取文字块首行字符 */
::first-letter          /* 选取文字块首行首个字符 */

/* Highlight Pseudo-elements */
::selection             /* 选取文档中高亮(反白)的部分*/
::inactive-selection    /* 选取非活动状态时文档中高亮(反白)的部分*/
::spelling-error        /* 选取被 UA 标记为拼写错误的文本 */
::grammar-error         /* 选取被 UA 标记为语法错误的文本 */

/* Tree-Abiding Pseudo-elements */
::before                /* 在选中元素中创建一个前置的子节点 */
::after                 /* 在选中元素中创建一个后置的子节点 */
::marker                /* 选取列表自动生成的项目标记符号 */
::placeholder           /* 选取字段的占位符文本(提示信息) */

/* WebVTT Format */
::cue                   /* 匹配所选元素中 WebVTT 提示 */

/* Fullscreen API */
::backdrop              /* 匹配全屏模式下的背景 */

注意提示

content属性

content属性应用于before和after伪元素。

content:normal;(默认)
content:<string>|<uri>|attr(<identifier>)

【1】<string>里面的内容会原样显示,即使包含某种标记也不例外。

注意1:如果希望生成内容中有一个换行,则需要使用\A

注意2:若是一个很长的串,需要它拆分成多行则需要用\对换行符转义

div:before{
    content: "第一段              第二段";
}
div:after{
    content:"\A后缀";
}

【2】

div:before{
    content: url("arrow.gif");
}

【3】attr(<identifier>)

div:before{
    content: attr(data-before);
}

下面是案例:

html代码:

<div class="box"></div>

css代码:

/*使用before伪元素画圆*/
.box:before{
    display:block;
    content:"钉子";
    height: 50px;
    width: 50px;
    border-radius: 50%;
    background-color: black;
    color: white;
    font-weight:bold;
    text-align: center;
    line-height: 50px;
}
/*使用after伪元素画三角*/
.box:after{
    display: block;
    content: "";
    width: 0;
    height: 0;
    border: 25px solid transparent;
    border-top: 50px solid black;
    margin-top: -20px;
}

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

时间: 2024-08-30 00:48:37

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

Web前端基础学习-2

盒子模型 在页面中,我们将所有的元素全部看做是一个盒子,页面布局就是将大大小小不同的盒子堆砌在一起,而一个盒子由以下几部分组成: padding:内边距,内容到边框的距离: margin:外边距,其他盒子到当前盒子的边框的距离: border: 边框: 所以一个元素在页面中实际所占的空间是: 内容+padding+border+margin(注意:padding/margin/border上下或者左右都有,所以计算时要算上设置的值得两倍:) 怪异盒子模型: 怪异盒子模型所设置的宽高即为其在页面中

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"设定档来处理 一.浏览器缓存原理 将该行前面的"#"字号删除