Skip to main content

关于CSS在Blog中的应用(二)

3、利用CSS修饰其它元素


很多Web程序/设计人员都形成了这样一个良好的习惯,为他们的产品提供了CSS接口(也就是标签的id和class属性)。这就方便我们对其外观进行自定义,这里以Mybloglog的widget为例进行说明。


我们要想在自己的blog上显示哪些Mybloglog的用户访问了自己的页面,或者利用它跟踪链接,就需要插入Mybloglog提供的javascript代码,像这样的:


<script type="text/javascript"
src="http://pub.mybloglog.com/comm2.php?mblID=2007071601460924;
c_width=180&amp;
c_sn_opt=y&amp;
c_rows=5&amp;
c_img_size=f&amp;
c_heading_text=Recent+Readers&amp;
c_color_heading_bg=005A94&amp;
c_color_heading=ffffff&amp;
c_color_link_bg=E3E3E3&amp;
c_color_link=005A94&amp;
c_color_bottom_bg=005A94">
</script>

上面的代码已经支持部分自定义,如颜色和标题,但是如果你对下面的三行链接感到多余的话,就无能为力了;这时我们就需要通过CSS定义其是否显示。在javascript代码中找不到CSS接口,需要利用浏览器打开包含该代码的页面将脚本代码解释成纯html代码,然后通过查看该页面的源文件,找到这些内容所对应的代码,比如这里是:


<table id="MBL_COMM"><tbody>   //table的CSS接口 id="MBL_COMM"
<tr><td colspan='2' class='mbl_h'>Recent Readers</td></tr>
<tr id='tr1'>             //tr的CSS接口 id="tr#"
<td id='tdd11' class='mbl_img'><img /></td>
<td id='tdd21' class='mbl_mem'>   //td的CSS接口 id="tdd##"
<a href='#'></a></td></tr>
<tr id='tr2'>
<td id='tdd12' class='mbl_img'><img /></td>
<td id='tdd22' class='mbl_mem'><a href='#'></a></td>
</tr>
<tr id='tr3'>
<td id='tdd13' class='mbl_img'><img /></td>
<td id='tdd23' class='mbl_mem'><a href='#'></a></td>
</tr>
<tr id='tr4'> <td id='tdd14' class='mbl_img'><img /></td>
<td id='tdd24' class='mbl_mem'><a href='#'></a></td>
</tr>
<tr id='tr5'>
<td id='tdd15' class='mbl_img'><img /></td>
<td id='tdd25' class='mbl_mem'><a href='#'></a></td>
</tr>
<tr>             //最后的三个tr标签对应最下边的三行链接
<td class=mbl_fo_hidden onclick=gU(2); colSpan=2><a
href="http://www.mybloglog.com/buzz/community/MynersDays/">
View Reader Community</a></td></tr>
<tr>
<td class=mbl_fo_hidden onclick=gU(5); colSpan=2><a
href=http://www.mybloglog.com/buzz/yjoin/?ref_id=2007071601460924;>
Join this Community</a></td></tr>
<tr>
<td class=mbl_fo_hidden onclick=gU(3); colSpan=2><a
href="http://www.mybloglog.com/">(provided by MyBlogLog) </a></td></tr>
</tbody></table>

我们可以看到这些代码的标签都带有 class 或者 id ,这就是我们需要的CSS接口。下面我们就为这些class或id编写CSS代码,改变其显示效果。


/* Mybloglog Styles
---------------------------------------*/

.mbl_fo_hidden{display:none;}  //隐藏"View Reader Community"字样
.mbl_join_img{display:none;}  // 隐藏"Join this Communtiy"字样
#tr0{display:none;}      // 隐藏"provided by MyBlogLog"字样

然后将这部分代码加入到blog模板的head部分或者存在某个.css文件中进行调用。经上面的CSS代码修饰后的Widget外观:


Mybloglog_Widget


4、用CSS替换传统方法的总结












































下面的列表将帮助你用CSS替换传统方法,HTML属性以及相对应的CSS方法:
HTML属性CSS方法说明
align="left"
align="right"
float: left;
float: right;
应用CSS可以浮动任何元素,但必须给该元素设置固定宽度
marginwidth="0" leftmargin="0" marginheight="0" topmargin="0"margin: 0;margin 适用于任何元素,并且可以分别指定元素的top, right, bottom和left的margin值
vlink="#333399" alink="#000000" link="#3333FF"a:link #3ff;
a:visited: #339;
a:hover: #999;
a:active: #00f;
在HTML中,链接的颜色作为body的一个属性值定义。整个页面的链接风格都一样。使用CSS的选择器,可以让页面不同部分的链接实现不同样式
bgcolor="#FFFFFF"background-color: #fff;通过CSS可以为任何元素定义背景色,不仅仅局限于body和table元素
bordercolor="#FFFFFF"border-color: #fff;任何元素都可以设置边框,并分别定义top, right, bottom和left属性
border="3"
cellspacing="3"
border-width: 3px;用CSS可以统一定义table的边框样式,或者分别定义top, right, bottom和left的线条颜色和类型;也可以使用 table, td or th 这些选择器。如果设置无边框,可以使用: border-collapse: collapse;
<br clear="left">
<br clear="right">
<br clear="all">
clear: left;
clear: right;
clear: both;
许多2列或者3列布局都使用 float属性来定位。如果你在浮动层中定义了背景颜色或者背景图片,你可以使用clear属性.
cellpadding="3"
vspace="3"
hspace="3"
padding: 3px;padding适用于任何元素,同样可以分别设置top, right, bottom, left。padding是透明的
align="center"text-align: center;
margin-right: auto; margin-left: auto;
Text-align 适用于文本;像div,p这样的块级元素可通过margin-right: auto; 和margin-left: auto; 实现水平居中

关于CSS在Blog中的应用就先讲这些。 个人觉得了解这些已经足矣应用CSS打理自己的Blog了,剩下的就是尝试,以及自己有没有时间花的问题了。

Comments

Popular posts from this blog

Cloudera Hadoop 集群安装(ubuntu + CDH5.10)

前言 CDH是Cloudera公司的Hadoop发行版,基于稳定版本的Apache Hadoop构建,包含Hadoop,Spark,Hive,Hbase和一些工具等,并集成了很多补丁,可直接用于生产环境。通过Cloudera Manager可以简化hadoop各组件的部署和配置过程。 目前CDH对ubuntu支持的最高版本为14.04,因此不建议使用更高版本的ubuntu来部署CDH。 环境准备: 1.配置网络(所有节点) 修改hostname: $ sudo vi /etc/hostname cdh01 修改IP地址: $ sudo vi /etc/network/interfaces auto eth0 iface eth0 inet static         address 172.16.13.11         netmask 255.255.255.0         gateway 172.16.13.254 重启网络服务生效: $ sudo ifdown eth0 && sudo ifup eth0 修改ip与主机名的对应关系: $ sudo vi /etc/hosts 172.16.13.11 cdh01 172.16.13.12 cdh02 172.16.13.13 cdh03 2.配置SSH(所有节点) 启用root登陆(CDH5.10需要进行此步操作) $ sudo vi /etc/ssh/sshd_config #PermitRootLogin without-password PermitRootLogin yes $ sudo service ssh restart $ sudo passwd root 设置ssh无密码登陆 //在主节点上执行一路回车,生成无密码的密钥对 $ ssh-keygen -t rsa //将生成的密钥文件复制到其它节点 $ ssh-copy-id cdh02 $ ssh-copy-id cdh03 测试: 在主节点上ssh hadoop2,正常情况下,不需要密码就能直接登陆进去了。 3.安装Oracle JDK(所有节点) 运行CDH5必须使用Oracle的Jdk,需要Java 7及以上版本支持。 在Oracle的官网下载jdk包,解压到相应目录,例如/usr/java/jdk1.8.0_

Bitwarden 配置 Let’s Encrypt 证书

由于在内网环境部署的Bitwarden,不能通过安装脚本自动申请 Let’s Encrypt 的证书。 起初我用了一个自签名证书,发现特别不好使,虽然在firefox 跟 chrome 内核的浏览器上都能通过插件访问,但必须添加信任才行,特别是用Bitwarden Desktop 客户端连的时候,一直报错,可能是不认自签名证书。 于是琢磨了下怎么手动申请Let’s Encrypt的证书用于内网,对过程简单梳理如下。 自签名证书 | Self-Signed Certificate 如果你在内网环境只需要自签名证书,可以参考Bitwarden的帮助文档( Installing and depoying )进行设置: 1、生成自签名证书: //一条命创建私钥和证书: openssl req -x509 -newkey rsa:4096 -sha256 –nodes -days 10950 \    -keyout privite.key -out identity.crt \    -subj "/C= US /ST= New York /L= New York /O= Company Name /OU= CREAST /CN= bw.creast.win " 将生成的文件放到 /ssl 目录下: privite.key     ~/bwdata/ssl/ bw.creast.win/private.key identity.crt      ~/bwdata/ssl/ bw.creast.win/identity.crt 2、生成.pfx格式证书文件: //一条命令将前面生成的私钥和证书打包成需要的pfx格式文件 openssl pkcs12 -export -out ./ identity.pfx -inkey privite.key \    -in identity.crt -certfile identity.crt -passout pass: IDENTITY_CERT_PASSWORD 注意 IDENTITY_CERT_PASSWORD 跟./env/global.override.e

Tor洋葱路由的设置与使用

先说明一下,这里只是利用Tor来访问被GWF屏蔽的优秀服务(如Wikipedia、Blogger、GG App等),并不侧重于如何匿名访问网络。以下Tor设置方法适用于: MS Windows(2000/XP/Vista/Server)系统 第一步:下载并安装Tor 关于Tor(The Onion Router,洋葱路由)的工作原理,可以参考枪旗工作室的说明 ( http://tcno.net/doc/tor/#para1 )。在Windows下安装配置Tor已经非常容易了,直接下载这样一个Tor的Windows 捆绑软件包( Vidalia-Tor-Privoxy Bundle ),其中已经预先配置好这些软件能够一同工作。 安装前可以看到套件捆绑了哪些软件:Tor、Vidalia(Tor 的一个图形用户界面)和 Privoxy(Web 代理软件)、Torbutton(Firefox浏览器插件)全选这些软件进行安装。 安装完成后会自动运行Vidalia,在弹出的控制面板上可以看到当前的状态,Tor已经运行了,此时不需要再进行其它设置了。 第二步:配置浏览器使用Tor 如果使用 Firefox 浏览器,Bundle里已经附带了 Torbutton 插件 ,打开/重启Firefox就会在右下角显示Tor Enabled/Disabled,单击它可以选择是否开启Tor代理功能。 对于 Internet Explorer 没有现成的插件可用,需要手动配置代理设置,也很容易。 菜单位置 工具 - Internet 选项 - 连接 - 局域网设置 - 代理服务器 - 高级 - 服务器 在代理理服务器地址栏里填入 "localhost",端口为 "8118"(Privoxy不支持FTP代理,填不填都无所谓了);注意套接字SOCKS代理的端口为 "9050",如果有其它选项,请选择Socks5,然后"确定"即可。 对于 Maxthon ,如果对IE设置了Tor可以选择“使用IE代理设置”,或者手动添加一个代理列表,内容与上面填写的一样,然后选择应用就可以了。 这里说明一下 Privoxy 的作用,因为当直接使用 SOCKS 代理时,浏览器会泄露