SAS中的CSS样式:表外的双边框

时间:2015-09-22 16:48:35

标签: html css templates sas border

下面的代码段实际上生成了一个类似于我在此处运行时所需的表格,但输出RTF文件显示的是一个没有内部边框的不同表格。怎么会这样?



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta name="Generator" content="SAS Software Version 9.3, see www.sas.com">
<meta http-equiv="Content-type" content="text/html; charset=windows-1252">
<title>SAS Output</title>
<style type="text/css">
<!--
.table {
	color: #000000;
	font-family: 'Arial', 'Arial';
	font-size: 10pt;
	font-style: normal;
	font-weight: normal;
	border: medium double black;
 }
.proctitle{
	color: #000000;
	font-family: Arial, 'Albany AMT', Arial;
	font-size: x-small;
	font-style: normal;
	font-weight: bold;
 }
.systemtitle{
	font-family: Arial, 'Albany AMT', Arial;
	font-size: large;
	font-weight: 14pt;
	color: black;
 }
.header, .rowheader, .footer, .rowfooter{
	color: black;
	font-size: 10pt;
	font-family: Arial, 'Albany AMT', Arial;
	background-color: #ffffff;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	padding: 10px;
 }
.data{
	font-size: 10pt;
	font-family: Arial, 'Albany AMT', Arial;
	background-color: #ffffff;
	text-align: center;
	vertical-align: middle;
	padding: 10px;
 }
.l {text-align: left }
.c {text-align: center }
.r {text-align: right }
.d {text-align: right }
.j {text-align: justify }
.t {vertical-align: top }
.m {vertical-align: middle }
.b {vertical-align: bottom }
TD, TH {vertical-align: top }
.stacked_cell{padding: 0 }
-->
</style>
<script language="javascript" type="text/javascript">
<!-- 
function startup(){

}
function shutdown(){

}

//-->
</script>

</head>
<body onload="startup()" onunload="shutdown()" class="body">

<script language="javascript" type="text/javascript">
<!-- 
var _info = navigator.userAgent
var _ie = (_info.indexOf("MSIE") > 0
          && _info.indexOf("Win") > 0
          && _info.indexOf("Windows 3.1") < 0);
var _ie64 = _info.indexOf("x64") > 0

//-->
</script>

<div class="branch">
<a name="IDX"></a>
<table class="systitleandfootercontainer" width="100%" cellspacing="1" cellpadding="1" rules="none" frame="void" border="0" summary="Page Layout">
<tr>
<td class="c systemtitle">Example Title Here</td>
</tr>
</table><br>
<div>
<div align="center">
<table class="table" cellspacing="0" cellpadding="5" rules="all" frame="box" bordercolor="#C1C1C1" summary="Procedure Print: Data Set WORK.TEST">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="l header" scope="col">CAR</th>
<th class="r header" scope="col">YEAR</th>
</tr>
</thead>
<tbody>
<tr>
<td class="l data">FORD</td>
<td class="r data">1995</td>
</tr>
<tr>
<td class="l data">HONDA</td>
<td class="r data">1998</td>
</tr>
<tr>
<td class="l data">CHEVY</td>
<td class="r data">2001</td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
</div>
</body>
</html>
&#13;
&#13;
&#13;

然而,这会产生一个表格:

enter image description here

我希望它看起来像:

enter image description here

我创建了以下数据集,并使用ODS RTF和我的自定义.css文件(在此示例中称为TESTFOX)输出表格:

DATA TEST;
    INPUT CAR $10. YEAR;
    DATALINES;
    FORD    1995
    HONDA   1998
    CHEVY   2001
    ;
RUN;

ODS RTF FILE="C:\USERS\DOCUMENTS\TEST.RTF" CSSSTYLE='C:\USERS\DOCUMENTS\TESTFOX.CSS';
PROC PRINT DATA=TEST NOOBS;
RUN;
ODS _ALL_ CLOSE;

1 个答案:

答案 0 :(得分:0)

使用nth child选择器。下面的Css可能会起作用,具体取决于您的html结构。

tr:first-child {
  border-top: medium double black;
}
tr:first-child {
  border-bottom: medium double black;
}
td:first-child {
  border-left: medium double black;
}
td:last-child {
  border-right: medium double black;
}

修改

在原始海报添加了一些细节之后,这是获得内部边界的可能方法。

td, th {
    border: thin solid black;
}