HTML类
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 = ' ' * 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类的更多相关文章
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- C++ 可配置的类工厂
项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...
- Android请求网络共通类——Hi_博客 Android App 开发笔记
今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
背景: 1:.NET Core 已经没System.Web,也木有了HttpRuntime.Cache,因此,该空间下Cache也木有了. 2:.NET Core 有新的Memory Cache提供, ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- PHP-解析验证码类--学习笔记
1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1 定义变量 //随机因子 private $char ...
- C# 多种方式发送邮件(附帮助类)
因项目业务需要,需要做一个发送邮件功能,查了下资料,整了整,汇总如下,亲测可用- QQ邮箱发送邮件 #region 发送邮箱 try { MailMessage mail = new MailMess ...
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
随机推荐
- SQL-W3School-高级:SQL IN 操作符
ylbtech-SQL-W3School-高级:SQL IN 操作符 1.返回顶部 1. IN 操作符 IN 操作符允许我们在 WHERE 子句中规定多个值. SQL IN 语法 SELECT col ...
- JavaFX入门:简单Demo-学习NetBeans开发平台
零. 最终目标 通过两种方式(纯代码控制.FXML),实现一个简单的登录界面: Paste_Image.png 涉及到的控件: 文本(Text,动态显示内容).标签(Label,显示文本).文本域 ...
- python3 super().__init__() 和 __init__() 的区别
1.单继承 super().__int__()和 Base.__init__(self)是一样的, super()避免了基类的显式调用. class Base(object): def __init_ ...
- .net断点续传
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...
- keytool命令的使用
## 打印所有证书指纹.如果是cacerts,则指本机安装的jdk的key store:如果是一个jks文件,则是其他key store keytool -list -keystore <cac ...
- iOS-在AFN基础上进行网络请求的封装
网络请求的思路:如果请求成功的话AFN的responseObject就是解析好的. 1发送网络请求:get/post/或者别的 带上URL,需要传的参数 2判断后台网络状态码有没有请求成功: 3 请求 ...
- Python3 Selenium自动化web测试 ==>FAQ:Unittest测试报告生成文件名加测试完成时间字符串
测试代码,虽然有点笨重,以后再修改: if __name__ == '__main__': report = os.path.join('D:/Python36/report/report.html' ...
- java中如何在键盘中输入一串数字然后存入数组中?
import java.util.Scanner; public class Tset { public static void main(String[] args) { System.out.pr ...
- 合并多个tensorflow模型的办法
直接上代码: import tensorflow as tf from tensorflow.python.tools import freeze_graph from tensorflow.pyth ...
- FTP服务器搭建基础工具:Serv-U 14.0.2使用教程
安装教程 1.在本站下载好压缩包,将文件解压,双击运行“ServUSetup官方原版程序.exe”程序,弹出语言选择框,选择“中文(简体)”,点击“确定”开始安装 2.点击“下一步”进行安装 ...