网页中的虚线怎么做?

A:做一个2*1的图片,一半有色彩,一半透明,存成透明GIF,然后把它设置成单元格背景图,把单元格设置为高度为1,删除其中的 代码即可实现横虚线效果。竖虚线依此类推。

用CSS也可以办到,把border的属性设置为dotted。

方法一:用CSS直接定义。
代码如下:

<style>
table{border-collapse:collapse}
td{width:50px;height:20px;border:1px dotted #000000}
</style>
<table>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td></tr>
</table>

然而用CSS定义的虚线表格有很多弊端:需要IE5.5+支持,虚线的疏密程序不可变等。所以就有第二种方法。
提示:这种做法跟细线表格的第三种方法相似。 
方法二:用背景图片实现的虚线表格。
1.在图象处理软件(Firework或者Photoshop)中做一个3X3的图片,中间是1X1大小的色块,色块的颜色就是虚线表格的虚线颜色,图1.2.11是把背景图片放大1600倍后的效果。

图1.2.11 放大到1600倍后的图片

2.在Dreamweaver中按Ctrl+Alt+T插入一个三行三列的表格,选中表格后在属性面板中作如图1.2.12所示的设置。

图1.2.12在属性面板中设置表格的背景图片

3.全选单元格(光标定位到第一个单元格,按住Shift键单击最后一个单元格),然后在属性面板中设置所有单元格的背景颜色,如图1.2.13所示。

图1.2.13 在属性面板中设置单元格的背景颜色

4.保存,预览。效果如图1.2.14所示。


图1.2.14 虚线表格效果预览
注意:背景图片边长大小必须跟表格的 CellSpacing 属性值一致。
提示:这种做法跟细线表格的第一种方法相似。
特别提示
第一种方法做的虚线表格在IE5.0上显示的是实线,效果跟细线表格一样,只有在IE5.5以上的浏览中看到的才是虚线。效果分别如图 1.2.15、图1.2.16所示。

图1.2.15 CSS实现的虚线表格效果(IE5)

图 1.2.16 CSS实现的虚线表格效果(IE6)

特别说明

虚线表格可以说是细线表格的变种,仔细看看,你会发现,主要方法还是跟做细线表格的一样 
在PyQt5,标签框格栅布局默认不支持设置行之间的虚线。但是,可以通过创建自定义的布局并重写其绘制函数来实现这一功能。具体实现方式如下: 1. 创建自定义的布局类,并继承QGridLayout。 2. 重写该布局类的绘制函数paintEvent()。 3. 在paintEvent()函数,先调用父类的绘制函数,再在每行之间绘制虚线。 下面是一个示例代码,实现了在标签框格栅布局每行之间绘制虚线的功能: ``` import sys from PyQt5.QtWidgets import QApplication, QWidget, QGridLayout from PyQt5.QtGui import QPainter, QPen from PyQt5.QtCore import Qt class CustomGridLayout(QGridLayout): def paintEvent(self, event): super().paintEvent(event) painter = QPainter(self) painter.setPen(QPen(Qt.DashLine)) for i in range(self.rowCount()-1): y = self.rowMinimumHeight(i) + self.getContentsMargins()[1] + \ sum([self.verticalSpacing() for j in range(i)]) painter.drawLine(0, y, self.width(), y) class Example(QWidget): def __init__(self): super().__init__() grid = CustomGridLayout() self.setLayout(grid) for i in range(4): for j in range(4): grid.addWidget(QWidget(), i, j) self.setGeometry(300, 300, 300, 200) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) ``` 在该示例,我们创建了一个名为CustomGridLayout的自定义布局类,并重写了其paintEvent()函数。在paintEvent()函数,我们首先调用了父类的paintEvent()函数,以确保布局本身正常绘制。然后,我们使用QPainter对象在每行之间绘制虚线。 在Example类,我们将自定义布局类应用于QWidget,并创建了一个4x4的网格布局。运行代码后,我们可以看到在标签框格栅布局每行之间都绘制了虚线
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值