Bad Tags — html有害的标签
作者:cmstv 来源:蓝色理想 发布时间:2008-10-13 19:47:00
原文:http://www.htmldog.com/guides/htmlintermediate/badtags/
十六 有害的标签 Bad Tags
这篇文章注意以前完美童话中的html标签,有害的,糟糕的,明显丑陋的,应该被排除在标准html之外的标签,要想只有一半工作量要么颠覆浏览器要么使用更加简单推荐的新标签。
尽管前面的基础教程已经提出了符合标准的建议,但初学者基础不同或者练习不对,这里进行总结。
html正尝试从表现转向语意,进而分离语意(HTML)和表现(CSS)。这个已经大范围运用于网页,因为这样一个单一的表现指令(CSS文件)可以使用在许多的页面。这样,网站更利于管理,想改变全站只需改变一个简单的代码。
一些有害的标签其实是简单的表现标签(比如small),它们可以用CSS里面相同意思的代码取代。其他一些不是表现的标签,但却没必要(比如font标签)或者对可用性不利(比如blink)。
标签 Tags
下面列举的标签可以用更好的选择:
b标签的是加粗的意思,这里可以用strong代替,或在在css里面添加font-weight:bold。
i表示斜体字元素,可以使用em代替,或是在css里面添加font-style:italic。
big用来表现大文字,标题上可以使用h1,h2等等代替,其他可以在cssfont-size里具体控制。
small用来表现小文字,可以在cssfont-size里控制。
hr表示水平线,可以在CSS里用border-top或border-bottom代替,也可用图片表现。
上面提及的标签都适应最近的HTML标准,但是它们没有赋予语意给内容。它们也许有更多用处但它们没有显著的害处,当站在下面糟糠的标签上可能非常容易犯错。
u表示下划线元素。它让文本像连接一样保持下划线,这也许就是这个标签消失的原因,人们真的不喜欢没有连接的文本有下划线。
center可以让元素居中。CSS属性text-align不仅可以居中center还有left,right和justify。 menu用来制作一个菜单列表,它比ul干的漂亮,但是无序列表更加普遍,ul取代menu。
layer和div元素很像,但只工作在老版本netscape浏览器,用处不大。
blink或marquee。对它们坚决说不。
font,可以用来定义字体的名称、大小、颜色。旧的网站(甚至现在的)在整个页面连续不断的使用font标签,就像白蚁灾祸。一些来自网页创建软件,布置font标签环绕在每个元素控制文字颜色或大小。用font标签应用到每一个元素,用CSS表示的话只需简单的一句即可,而且可以全站实现更改。使用这个方法,不仅可以减轻网页体积,改变简单的一句css语句就可改变font所表示的内容。这样保持了网站风格的一致。font标签和滥用表格是网页体积臃肿的主要原因。
属性 Attributes
现在你可能正确使用标签,但它们有一些令人烦恼的寄生属性,可能导致变味。
name分配一个name给元素,在form元素比如input中表现完美,但在别处,name的工作被id属性代替。
text和bgcolor用来指定基础的文字颜色和拥有开放body标签的背景颜色。css中color和background-color属性可以很好的应用在body选择器。
background可以为body标签指定背景图片。css可以提供更好的背景图片属性,比如background-image。
link,alink,vlink可以为body标签指定链接颜色。CSS属性::link,:active,:visited同样作用。 align可以控制元素排列,比如<div align="center">Stuff</div>,但是像center标签,可以在css里用text-align属性。
target链接以不同状态打开,比如开新窗口 <a href="wherever.html" target="_blank">Help me</a>。听起来不错,但对网站没有亲切感。用户不会期望这些(如新开窗口)如魔术一样的出现方式,大部分用户喜欢使用“后退”按钮,打开新窗口意味着这个功能失效。标签的表现属性比如图片的width和height表格的cellpadding和cellspacing决定了不同的属性应用在不同的元素。它们不是完美的解决方案,但如果你的页面有很多图片或表格,你可能没有其他可行的选择。
大部分莫名其妙的表现属性属于textarea标签,它不仅只有cols和rows有效属性,最新的HTML标准需要它们。
猜你喜欢
- 我就废话不多说了,大家还是直接看代码吧~#!/usr/bin/env python# encoding: utf-8''
- 本文实例讲述了Python实现快速多线程ping的方法。分享给大家供大家参考。具体如下:#!/usr/bin/python#_*_codin
- requests的SSL证书验证1、对于HTTPS默认情况下,启用SSL验证,如果无法验证SSL证书会导致:requests.excepti
- pycharm报错提示:无法加载文件\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本在pycharm终端出现
- 如下所示:import json# 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量headers = &qu
- 本文实例为大家分享了js实现瀑布流效果的具体代码,供大家参考,具体内容如下CSS样式:<style> .cont{margin:
- 代码如下:<% '--------定义部份------------------ Dim XH_P
- 🌌 专注Golang,Python语言,云原生,人工智能领域得博主💜 过去经历的意义在于引导你,而非定义你,💜 只要我们足够努力,任何人都有
- 本文实例讲述了Python 进程操作之进程间通过队列共享数据,队列Queue。分享给大家供大家参考,具体如下:队列中的数据是放在内存中的,可
- 如果您还没看过段正淳的css笔记(1)分类之间的横竖线,可以先看看!1、css圆角的做法.为了这个圆角,前段开发们付出的努力是在是太多了.又
- 咱们用的os模块,读取文件的时候,其实他是含有__enter__ __exit__ 。 一个是with触发的时候,一个是退出的时
- 在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面方法一: 利用数组
- 代码如下:--销售冠军 --问题:在公司中,老板走进来,要一张每个地区销量前3名的销售额与销售员的报表 --- create t
- 本文实例讲述了Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据。分享给大家供大家参考,具体如下:一、Logistic
- MySQL 创建数据库和创建数据表MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。在这之前,需要先安装好
- 在python中,它也有这个含义,不过有点区别的是,“当...时候”这个条件成立在一段范围或者时间间隔内,从而在这段时间间隔内让python
- 用for循环和海龟绘图实现漂亮的螺旋线A.课程内容本节课通过绘制复杂的螺旋线来深入学习for循环和range()函数的用法。深入了解循环的程
- 这学期有一门运筹学,讲的两大块儿:线性优化和非线性优化问题。在非线性优化问题这里涉及到拉格朗日乘子法,经常要算一些非常变态的线性方程,于是我
- vue运行为v-on在监听键盘事件时,添加了特殊的键盘修饰符:<input v-on:keyup.13="submit&qu
- 命令:Python manage.py runserver改为python manage.py runserver 0.0.0.0:80外网