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解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
随机推荐
- 客户端配置代理服务实现yum上外网
vi /etc/profile http_proxy=http://172.20.188.193:3128/https_proxy=https://172.20.188.193:3128/expor ...
- 亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天
亿级在线系统二三事-网络编程/RPC框架 原创: johntech 火丁笔记 今天
- C#问答题与附解收集(三)
post.get的区别 答: GET把参数包含在URL中,POST通过request body传递参数.GET请求在URL中传送的参数是有长度限制的,而POST没有.使用post提交的页面在点击[刷新 ...
- c++ string构造函数学习
#include <iostream>#include <string> using namespace std; int main(){ string a1; cout &l ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_14-页面静态化-数据模型-远程请求接口
okhttp的官方文档: https://square.github.io/okhttp/ github的地址 https://github.com/square/okhttp/ 如何远程请求轮播图的 ...
- 【python画图】
1.热力图 import numpy as np import numpy.random import matplotlib.pyplot as plt # Generate some test da ...
- CG-CTF 南邮 综合题2
个人网站 http://www.wjlshare.tk 0x00前言 主要考了三块 第一块是文件包含获取源码 第二块是通过sql绕过注入获取密码 第三块是三参数回调后门的利用 做这题的时候结合了别人的 ...
- Git速成学习第二课:管理修改与删除文件
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 管理修改 首先我们需要明确,为什么说Git管理的是修改而不是文件呢? 我们首先对于已有的read ...
- 【ARM-Linux开发】gstreamer教程及在DM3730上的应用
感谢原文作者:goalie高义http://blog.csdn.net/goalietech/article/details/24887955 1 Gstreamer基本概念 GStreamer 是一 ...
- 获取父窗口iframe的ztree对象
问题如下:我要在jqgrid中获取ztree的选中节点对象 var iframe = parent.$("#ztree的iframeId").contents(); var ztr ...