终于解决body元素居中问题(xslt+xml->html,终极解决方案)
2013-04-01 12:47
567 查看
对html不熟,所以整个过程比较复杂,目的是将一个宽800的div居中显示,但html是xslt+xml产生的。
【1】设置属性
开始对body属性各种设置,IE和FF都很好,但VC里的CHtmlView控件显示不能居中。(表现上看,貌似使用的是IE6引擎,以前碰到都是去修改网页和脚本,没试过用程序设置)。
后来查到是自己理解错了,不是对body设置,body就是浏览器宽度,应该对div设置。div样式中加上如下(或相同效果的)代码:
【2】html开头
查到了HTML开头需要如下一句(w3c有具体解释),否则开始查到的居中设置不能应用,也就是写对了但无效,被忽略了。
手工写不行,
放到<![CDATA[]],有网友反映不行,
有的说放到xml里,然后xsl:value-of,未尝试
有的在xslt里写了一个固定的模板,html之前先输出,我也没尝试,但这种方法最接近了
http://bbs.blueidea.com/thread-2167695-1-1.html
http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=63717
【1】设置属性
开始对body属性各种设置,IE和FF都很好,但VC里的CHtmlView控件显示不能居中。(表现上看,貌似使用的是IE6引擎,以前碰到都是去修改网页和脚本,没试过用程序设置)。
后来查到是自己理解错了,不是对body设置,body就是浏览器宽度,应该对div设置。div样式中加上如下(或相同效果的)代码:
#mainframe { width:800px; margin:0 auto; }但是,不能居中,左对齐。不同的帖子和回复,相同的代码,让我坚信不是这两行代码的问题。
【2】html开头
查到了HTML开头需要如下一句(w3c有具体解释),否则开始查到的居中设置不能应用,也就是写对了但无效,被忽略了。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">【3】如何用xslt生成
手工写不行,
放到<![CDATA[]],有网友反映不行,
有的说放到xml里,然后xsl:value-of,未尝试
有的在xslt里写了一个固定的模板,html之前先输出,我也没尝试,但这种方法最接近了
http://bbs.blueidea.com/thread-2167695-1-1.html
<?xml version="1.0" encoding="GB2312" ?> <!--作者:八神奄--> <?xml-stylesheet type="text/xsl" href="Test.xslt"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="gb2312"/> <xsl:template match="/"> <xsl:value-of select="document('')/*/xsl:template[@name='DOCTYPE']/node()" disable-output-escaping="yes"/> </xsl:template> <xsl:template name="DOCTYPE"> <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">]]> </xsl:template> </xsl:stylesheet>最终解决方法,使用xsl:output标签及其属性:
http://bbs.xml.org.cn/dispbbs.asp?boardID=8&ID=63717
<xsl:output method="html" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" indent="yes"/>【4】搜索,改变你我生活:)
相关文章推荐
- js正则:匹配一个html的tagname的开始标签,主要是解决包含&lt;&gt;(正则的效率问题建议不使用)
- 解决JTidy HTML=>XML中文乱码
- 解决<![CDATA[xml]]>不能嵌套问题!
- Tips: 解决XSLT中table内容<br/>换行问题
- 解决struts中<html:form>提交中文时乱码问题
- TTPRequest 提示#import <libxml/HTMLparser.h>找不到 的解决方法
- 关于html中charset与<title>位置不同页面空白的问题及解决方法
- 奋斗了n(n>7)小时,终于解决了连接远程JMS JNDI的问题:java.rmi.NoSuchObjectException: no such object in table
- js给<object>视频赋值 延迟加载,解决不能修改的html对象的问题 .
- web.xml中配置访问资源URL<url-pattern>/</url-pattern>时无法访问.html、.jsp、.js、.css等静态资源时的解决方案
- struts中<html:radio>标签默认选中的解决方法《转载》
- 关于android导入工程时出现的@Override错误问题的解决<转>
- Tomcat刚刚启动完毕,数据库的连接数>1的问题解决
- PHP解决引用路径和重复引用文件已经其中的HTML代码的路径问题的终极解决方案
- oracle安装出现问题解决方案和重装oracle必须删除oracle的服务项 ,终于解决了 谢谢那些网友们
- Java中使用XML标签<x:transform />转化XML为HTML
- 解决cxf+spring发布的webservice缺少<wsdl:types>和<wsdl:message>标签的问题
- 关于利用Jsoup解析HTML中 ;变成非传统空格或乱码问题解决方法
- struts国际化问题"——终极解决方案
- ios ipv6被拒绝,后台定位被拒绝,免费的终极解决方案,大家齐心协力让天下没有解决不了的ipv6问题!