网站首页 > 技术文章 正文
前言
HTML作为前端三大基础知识点之一,是每一个前端开发人员都要掌握的部分。今天这篇文章我们来看看一些平时不太会注意,却在面试时可能会问到的题目,来看看你都会吗?
HTML
如何使用div模拟实现textarea?
我们都知道textarea是form表单中一个很常见的元素,用于多行文本输入,可以设置行数和列数。
但是默认的textarea样式在页面上看起来是很丑的,很多页面都是采用div模拟textarea实现。例如QQ空间主页面的发表说说,在你看页面源码后就会发现这个输入框其实是一个div元素,并不是一个textarea元素,现在我们就来看看这是如何实现的吧?
首先来看看实现的效果是什么样的。
实现效果
关键属性:contenteditable
正如这个属性的字面意思,可以理解为可编辑的,如果在页面标签上设置contenteditable=true,该标签就可以进行编辑了。
可以配合user-modify属性,该属性表示的是控制用户能否对页面元素进行编辑,通过设置不同的值可以选择富文本或者纯文本内容,但是由于该属性是非标准属性,很少有人知道。
首先我们来看看页面的HTML部分代码,就是一个很简单的div标签,然后设置contenteditable属性为true。
HTML部分代码
接下来我们就看看整个CSS代码的完整实现吧。
CSS样式
通过min-height和max-height属性可以控制div的高度,在内容超出max-height后会出现滚动条。如果想要固定div的高度,则只需要设置height属性就可以,而不用设置min-height和max-height属性。
src和href的区别
src和href从使用上来看都是对外部资源的一种引用,但是在具体理解上是有差异的。
href的值指定的是资源在网络上的位置,定义的是当前页面上的某个元素与需要的资源文件的一个链接。比如下面一个语句。
href引用
当浏览器解析到页面的这条语句时,会知道在这里引用了一个外部样式文件,但并不会阻止页面解析。这与@import有很大不同,因此在引入外部样式时,推荐使用link标签。
src的值表示的是页面上必不可少的内容,需要将指定内容加载到当前页面中。比如下面一个语句。
src引用
当浏览器解析到页面上的这条语句时,浏览器会对这个文件进行解析,编译和执行,从而导致整个页面加载会被暂停,这也是为什么一般会选择将script标签放在body结束标签的前面。
有一种更好的理解方式,href表示的是一个资源的链接;src是对当前元素的替换,内容最终会嵌入到当前页面中。
DIV+CSS布局和Table布局对比
虽然目前大多数网页都是采用的DIV+CSS布局的方式,但是也有少数的老式Web网页采用的是Table布局,我们可以一起来看看两种布局方式的优劣。
布局对比
div+css布局
div+css的布局方式属于W3C标准,而且由于CSS的存在,HTML部分的代码会显得很纯净,满足行为,样式,结构分离的原则。
页面加载速度更快,这是目前DIV+CSS使用更广泛的一个非常重要的原因。
页面编码量相对于Table布局会少很多。
页面内容更容易维护,由于样式都存在CSS文件中,只需要修改CSS文件即可,对HTML文件不会有影响。
由于DIV+CSS布局更容易进行SEO优化,所以更方便被搜索引擎收录。
Table布局
虽然DIV+CSS有各种各样的优势,但是Table布局也并不是完全无用的。这里也可以列举出几个采用Table布局的优势。
新手学习方便(相信有很多后端RD在进行前端学习时刚开始都是从table布局开始的)。
兼容性更好,由于Table布局是从最古老的浏览器发展而来的,在兼容性上会满足所有浏览器。而CSS3的出现却要考虑浏览器的支持程度,一个样式要考虑加上几个不同浏览器前缀,类似于-webkit,-moz等
结束语
今天这篇文章主要讲解了几个关于HTML的知识点,大家都掌握了吗?
- 上一篇: 前端基础知识 前端基础知识有哪些疑问
- 下一篇: 前端必会网络知识 前端必学知识点
猜你喜欢
- 2025-06-08 惬意!清晨慢品 HTML canvas 标签题,面试知识轻松 get
- 2025-06-08 前端实现知识图谱-force(d3.js)(前端知识树)
- 2025-06-08 高级前端必须要懂得nginx知识(nginx做前端服务器)
- 2025-06-08 前端八股文都不会,还想靠“临场发挥”拿Offer?
- 2024-09-29 前端知识-概念篇 “前端”
- 2024-09-29 前端开发应当掌握的10大板块内容,每一个知识点应当相当熟悉
- 2024-09-29 web开发之-前端知识介绍 web前端基本知识
- 2024-09-29 web前端基础知识 web前端基础知识 相关课程
- 2024-09-29 前端小知识点汇总,常忘记的知识点汇总(面试,笔试)学习笔记
- 2024-09-29 高级前端开发应该掌握的知识图谱 高级前端开发应该掌握的知识图谱是什么
你 发表评论:
欢迎- 581℃几个Oracle空值处理函数 oracle处理null值的函数
- 575℃Oracle分析函数之Lag和Lead()使用
- 561℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 560℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 556℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 545℃【数据统计分析】详解Oracle分组函数之CUBE
- 533℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 529℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)