class Html:
def __init__(self,name):
self.name = name @staticmethod
def full_name():
print('全称:Hype Text Makeup Language')
print('中文名称:超文本标记语言') @staticmethod
def history():
print('历史:')
dic = {}
dic.setdefault('1.0版本',1993.06)
dic.setdefault('2.0版本',1995.11)
dic.setdefault('3.2版本',1997.01)
dic.setdefault('4.01版本',1999.12)
dic.setdefault('4.01版本',2000.05)
dic.setdefault('5.0版本',2014.10)
for k, v in dic.items():
print('版本:', k, '\t时间: ',v) @staticmethod
def type():
print('< !DOCTYPE html >') # 声明是哪个版本的 def html_first(self,content=None):
res='<html>\n%s%s\n</html>' % (self.head(),self.body(content))
print(res)
return res def structure(self):
'''html结构'''
self.type()
self.html_first() def head(self):
res = '<head>\n<title>%s</title>\n</head>\n' % self.name
return res @staticmethod
def body(content):
res = '<body>\n%s\n</body>' % content
return res @staticmethod
def black(n=1):
'''空白符号'''
res = '&nbsp' * n
return res @staticmethod
def show_label():
print("""
1:h1-h6,标题
2:p,段落
3:strong/em,强调
4:hr,文章与文章间的分割
5:br,换行
6:ul/ol,列表
7:div/span,排版布局
8:li,粒
9:table,表格
10:a,超链接
11:img,图片
12:from,列表,服务器交互
13:input,输入
14:textarea,多行输入
15:select,下拉列表\n
""")
class Label:
'''单闭合标签'''
@staticmethod
def br():
'''换行,注意空白折叠现象'''
return '<br>' @staticmethod
def hr():
'''文章和文章之间进行添加横线'''
return '<hr>' @staticmethod
def meta(mode='UTF-8'):
'''字符编码是gbk还是utf8'''
return '<meta charset=%s>' % mode @staticmethod
def img():
'''图片标签'''
return '<img >' @staticmethod
def input(type,content,check='check',name='',placeholder='',value=''):
'''
和from表单结合使用
:param type:明文:text,密文:password,圆点:radio,复选框:checkbox,重置:reset(针对from)
:param content: 显示内容
:param check: 默认选中(有选择框)
:param name: 互斥
:param placeholder:提示
:param value:按钮上显示的内容,发送给服务端
:return:
'''
return "%s<input type='%s' placeholder='%s' name='%s' check='%s' value='%s'>" \
% (content,type,placeholder,name,check,value)

单闭合标签

class Label1:
'''多闭合标签'''
@staticmethod
def p(content=None):
'''段落标签'''
return '<p>%s</p>' % content @staticmethod
def strong(content=None):
'''文本内容加粗,重强调'''
return '<strong>%s</strong>' % content @staticmethod
def em(content=None):
'''文本内容斜体,轻强调'''
return '<em>%s</em>' % content @staticmethod
def li(args=None):
'''
粒标签
:param args:元组
:return:
'''
res = ''
for i in args:
single = '<li>%s</li>\n' % i
res += single
return res @staticmethod
def ul(li=None):
'''无序列表(unorder line)'''
return '<ul>\n%s\n</li>' % li @staticmethod
def ol(li=None):
'''有序列表(order line)'''
return '<ol>\n%s\n</ol>' % li @staticmethod
def dl(title=None,describe=None):
'''
定义列表
:param title:元组
:param describe: 元组
:return:
'''
res1 = ''
for i in title:
single1 = '<dt>%s</dt>\n' % i
res1 += single1
res2 = ''
for i in describe:
single2 = '<dd>%s</dd>\n' % i
res2 += single2
res= '<dl>\n%s%s</dl>' % (res1,res2)
return res @staticmethod
def table(head=None,describe=None,caption=None,border=0):
''' :param head:
:param describe:元组,一个元素代表一行,一个元素有多少项代表有多少列,如((xx,xx),(xx,xx))
:param border: 宽度
:return:
'''
res0 = '<caption>%s</caption>\n' % caption
res1 = ''
for i in head:
all_head = ''
single1 = '<th>%s</th>\n' % i
all_head += single1
res1 += all_head
res1 = '<tr>\n' + res1 + '</tr>\n'
res2 = ''
for t in describe:
all_head = ''
for i in t:
single2 = '<td>%s</td>\n' % i
all_head += single2
res3 = '<tr>\n' + all_head + '</tr>\n'
res2 += res3 res = "<table border='%d'>\n%s%s%s</table>" % (border,caption,res1, res2)
return res @staticmethod
def a(web=None,name=None,target='self'):
'''段落标签'''
return "<a href='%s' target='%s'>%s</a>" % (web,target,name) @staticmethod
def textarea(rows=None,cols=None):
'''文本域标签'''
if rows and cols:
return '<textarea rows="%s" cols="%s"></textarea>' % (rows,cols)
else:
return '<textarea></textarea>' @staticmethod
def laber(id=None,text=None):
'''标记标签,鼠标点击文本后跳转到关联的from内容'''
return '<laber for="%s">%s</laber>' % (id,text) @staticmethod
def div(content=None):
'''区隔标签'''
return '<div>\n%s\n</div>' % content @staticmethod
def select(content=None,multiple='multiple'):
'''选择标签'''
return '<select multiple="%s">%s</select>' % (multiple,content) @staticmethod
def option(content=None,value='',selected=''):
'''选项标签,会根据内容数目自动出现滚筒'''
if value:
return '<option value="%s" selected="%s">%s</option>' % (value,content,selected)
else:
return '<option value="%s" selected="%s">%s</option>' % (content,content,selected) @staticmethod
def from_html(content=None,action='#',method='get'):
'''
from表单标签
:param content:
:param action: 服务器地址
:param method:
:return:
'''
return '<from action="%s" method="%s">\n%s\n</from>' % (action,method,content)

多闭合标签

HTML类的更多相关文章

  1. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  2. C++ 可配置的类工厂

    项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...

  3. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  4. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

    在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...

  5. ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core

    背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...

  6. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  7. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  8. PHP-解析验证码类--学习笔记

    1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1  定义变量 //随机因子 private $char ...

  9. C# 多种方式发送邮件(附帮助类)

    因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...

  10. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator

    去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...

随机推荐

  1. Linux中查看系统资源占用情况的命令

    用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况 ...

  2. 《你不知道的JavaScript(上)》笔记——关于this

    this 指向函数的作用域是一种常见的误解,this 在任何情况下都不指向函数的词法作用域. 在 JavaScript 内部, 作用域确实和对象类似, 可见的标识符都是它的属性. 但是作用域" ...

  3. oracle-密码

    Oracle 11g 默认用户名和密码安装ORACLE时,若没有为下列用户重设密码,则其默认密码如下: 用户名/密码 登录身份 说明sys/change_on_install SYSDBA 或 SYS ...

  4. Oracle查询表和字段

    查看表字段.类型.注释 SELECT A.COLUMN_NAME,B.comments,A.DATA_TYPE FROM USER_TAB_COLUMNS A LEFT JOIN user_col_c ...

  5. Java NIO学习笔记八 Pipe

    Java NIO Pipe Java NIO管道是两个线程之间的单向数据连接.Pipe 具有源信道和接受通道.您将数据写入sink通道.然后可以从源通道读取该数据. 这是一个原理的Pipe流程图: J ...

  6. 将springboot安装成windows服务启动。

    下载Windows Service Wrapper 本文下载了winsw-2.3.0-bin.exe. 新建一个目录aiplatformService 在目录里面新建一个aiplatformServi ...

  7. mysql物理备份innobackupex

    一.全量备份 1.安装xtrabackup # wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/b ...

  8. 在本地环境(mac)启用https

    前段时间客户一个涉及地理定位功能的页面突然出问题不能正常使用,在修复的过程中发现定位的方法 getCurrentPosition 只能在 https 协议下才能成功调用,这导致我在本地不能调试,每次修 ...

  9. springboot-springmvc-requestParam

    springmvc请求方式 1.直接写在形参中:基本类型 @RequestMapping("/testRequestParam1") public ModelAndView tes ...

  10. centos7:ssh免密登陆设置

    1.使用root用户登录,进入到目录/root/.ssh 2.执行命令:ssh-keygen -t rsa 一路回车,完成后会在目录/root/.ssh下面生成文件 id_rsa和id_rsa.pub ...