热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML与CSS学习笔记(3)

1、float浮动

脱离文档流:沿着父容器靠左或者靠右进行排列

文档流
文档流是文档可显示对象在排列时所占用的位置

float特性
left、right、none

float注意点:
只会影响后面的元素,对于浮动元素之前的元素是不造成任何影响的
内容默认提升半层,可实现图文混排样式
默认宽根据内容决定
换行排列,一行放不下浮动元素就会换行排列
主要给块元素添加,但也可以给内联元素添加

如何清除浮动?
上下排列:clear,表示清除浮动:left、right、both
嵌套排列:
固定宽高:不推荐,不能把高度固定死,不适合做自适应的效果
父元素浮动:不推荐,因为父容器浮动也会影响到后面的元素
overflow:hidden(BFC规范),如果有子元素想溢出,那么会受到影响,而不能溢出
display:inline-block(BFC规范),不推荐,父元素会影响到后面的元素
设置空标签:不推荐,会多添加一个标签
after伪类:推荐,是空标签的加强版,目前各大公司的做法。
(clear属性只会操作块标签,对内联标签不起作用)
写法:.clear::after{content:'';clear: both;display: block;}

2、position定位

position特性
css position属性用于指定一个元素在文档中的定位方式,top、right、bottom、left属性则决定了该元素的最终位置

position取值:
static(默认)
relative:(相对定位)
absolute
fixed
sticky

relative:(相对定位)
如果没有定位偏移量,对元素本身没有任何影响:left: 100px;top: 100px;left正值表示向右移动
不使元素脱离文档流
不影响其他元素
left、right、top、bottom是相对于当前元素自身进行偏移的

absolute:(绝对定位)
使元素完全脱离文档流(类似于float)
使内联元素支持宽高
使块元素默认宽根据内容决定(让块具备内联的特性)
如果有定位祖先元素,则相对于定位祖先元素发生偏移,没有定位祖先元素则相对于整个文档发生偏移(如相对于html标签,左上角当做原点进行偏移)
例:
#box1{width: 300px;height: 300px;border: 1px black solid;margin: 20px auto;position: relative;}
#box2{width: 100px;height: 100px;background: red;position: absolute;top: 0;left: 0;}
box2祖先元素box1有定位元素relative(绝对、相对、固定其中一种都行)所以,box2以box1的左上角为原点进行偏移

fixed:(固定定位)
使元素完全脱离文档流
使内联元素支持宽高(让内联元素具备块特性)
使块元素默认宽根据内容决定(让块具备内联特性)
相对于整个浏览器窗口进行操作,不受浏览器滚动条的影响(比如弹窗,回到顶部按钮等)

sticky:(粘性定位)
在指定位置,进行粘性操作
(快速写p标签的方式p{aaaaa内容}*6)

z-index:(定位层级)
默认层数为0
嵌套的时候层级问题:
先用父容器的层级来比较,如果父容器没有层级才用子元素的层级来比较

3、css添加省略号
width
必须有一个固定的宽
white-space:nowrap
不让内容折行;
overflow:hidden
隐藏溢出的内容
text-overflow:ellipsis
添加省略号

4、css Sprite
特性:
css雪碧也叫作css精灵,是一种网页图片应用处理方式,它允许你将一个页面涉及到的所有零星图片大欧包含到一张大图中去加载。
其实就是利用同一张背景图把其中的图标定位到不同的区域,即背景定位
好处:
可以减少图片的质量,网页的图片加载速度快
减少图片的请求的次数,加快网页的打开

5、css圆角
border-radius:可写四个值分别是,左上,右上,左下,右下

6、PC端的布局?
通栏、版心

7、HTML与XHTML的区别:

DOCTYPE文档及编码
元素大小写:html:大小写标签都可以; Xhtml:只能小写
属性布尔值:html:checked; xhtml:checked="checked"
属性引号:xhtml中属性值必须加引号:


图片的alt属性:xhtml:img标签必须写alt属性
单标签的写法:xhtml单标签结尾必须加/:
双标签闭合:html双标签可以可以不写完整(十分不推荐),当时xhtml不行

8、strong和b、em和i

表现形态都是文本加粗和文本斜体
区别在于:strong和em是具备语义化的(推荐),而b和i是不具备语义化的。
i和b的应用场合:当class较多时简化选择器操作。

9、引用标签
blockquote:引用大段的段落解释
q:引用小段的短语解释
abbr:缩写或首字母缩略词
address:引用文档地址信息
cite:引用著作的标题

语义化标签的好处:有利于计算机或者浏览器便于解析,让搜索引擎更方便地搜索到想要的内容;规范编码的规范程度,便于多人协作开发。其实完全可以使用div和span(相当于内联的div)来替代,但是在合适的语境使用合适的标签更加符合规范

10、iframe嵌套页面标签(钓鱼网站经常用)
iframe元素会创建包含另外一个文档的内联框架(即行内框架)。
即:可以引入其他的html到当前的html中显示

主要是利用iframe属性进行样式的调节的
应用场景:数据传输、共享代码、局部刷新、第三方介入等

11、br和wbr?

br:单标签,就是换行,wbr就是软换行:在长单词里面加,则会一部分一部分的换行,不会整个单词一次行换行:HttpHtmlXhtmlCss Html和Http依次换行,该长单词不会一次性换行

12、pre与code

针对网页中的程序代码的显示效果(被包围的代码文本会自动生成span等标签)
输出尖括号是要先进性转义<(<);>(>)
pre标签可定义预格式的文本。被包围在pre元素中的文本通常会保留空格和换行符
code标签:里面包围着代码文本
pre作为外层元素,code作为内层元素可实现代码的显示效果。

*主要了解含义即:最后实现代码显示的是这两个标签,一般不会直接写而是采用markdown语法来自动生成

13、map与area?
给图片中的特殊图形添加链接,area所添加的热区形状:矩形、圆形、多边形
矩形:只用写入左上角和右下角的坐标即可
圆形:中心点坐标和半径
多边形:要写多点坐标

14、embed与object?(用得少)
都表示能够嵌入一些多媒体,如flash动画、插件等。基本没多大区别,主要为了兼容不同的浏览器
object元素需要配合param元素一起完成

15、audio与video
属于H5的新功能
audio标签表示嵌入音频文件,video标签表示嵌入视频文件。默认控件是不显示的,可通过controls属性来显示控件

为了提高兼容性,要配合source标签

16、文字注解?

ruby、rt这样一个组合
css实现文字反向排列,bdo标签实现文字反向排列.

17、扩展link标签
主要作用为引入外部文件
添加网址标题栏前的小图标

引入DNS预解析

18、meta扩展学习?
优化网页
meta添加一些辅助信息:
还可以添加一些功能:渲染模式、刷新、缓存
ctrl+f查找文本

*注:积累大网站的meta和link都写了什么,可能对电面试有帮助

19、HTML5新语义化标签
一般一个页面只能出现一次
header:页眉
footer:页脚
main:主体
hgroup:标题组合
nav:导航

article:独立的内容(重在独立)
aside:辅助信息的内容
section:区域(重在划分区域)
figure:描述图像或视频
figcaption:描述图片或视频的标题部分

注:虽然可以使用div来做但是,语义化标签的好处上面已经讨论过了

datalist:选项列表
details/summary:文档细节/文档标题
progress/meter:定义进度条/度量度量范围
time:定义日期或时间
mark:带有记号的文本
(title属性为鼠标停留显示提示信息)
(建议尽量把div换成相应的语义化标签)

20、表格扩展
添加单线:border-collapse:collapse
隐藏空单元:empty-cells:hide
斜线分类:border/rotate
列分组:colgroup/col

21、表单扩展

美化表单控件:1、用伪类,主要用label标签:checked 2、position+opacity
label标签可以增大checkbox的选中区域

新的input控件:
email:电子邮件地址输入框
url:网址输入框
number:数值输入框
range:滑动条
date/month/week:日期控件
search:搜索框
color:颜色控件
tel:电话号码输入框(在移动端会默认调起数字键盘)
time:时间控件

新的表单的属性:
autocomplete:自动完成 默认:on \ off
autofocus:获取焦点
required:不能为空
pattern:正则验证,通过验证则继续运行

method:数据传输方式
enctype:数据传输类型
name/value:数据的键值对

扩展标签
fieldset:表单内元素分组
legend:为fieldset元素定义标题
optgroup:定义选项组

22、BFC规范

Formatting context(格式化上下文)是W3C CSS2.1规范中的一个概念,它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用

BFC即Block Formatting Contexts(块级格式化上下文),它属于上述中的其中一种规范具有BFC特性的元素可以看做是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且BFC具有普通容器所没有的一些特性。

触发BFC规范的元素,可以形成一个独立的容器,不受到外界的影响,从而解决一些定位问题
触发BFC
浮动元素:float除none以外的值
绝对定位元素:position(absolute、fixed)
display为inline-block、table-cells、flex
overflow除了visible以外的值(hidden、auto、scroll)

BFC特性及其应用
解决margin的叠加问题
解决margin传递问题
解决浮动问题
解决覆盖问题

 


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • position属性absolute与relative的区别和用法详解
    本文详细解读了CSS中的position属性absolute和relative的区别和用法。通过解释绝对定位和相对定位的含义,以及配合TOP、RIGHT、BOTTOM、LEFT进行定位的方式,说明了它们的特性和能够实现的效果。同时指出了在网页居中时使用Absolute可能会出错的原因,即以浏览器左上角为原始点进行定位,不会随着分辨率的变化而变化位置。最后总结了一些使用这两个属性的技巧。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
author-avatar
Stupid锋_891
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有