一个大圆圈里面有个数字如图 怎么用HTML + CSS实现呢?

html-css010

一个大圆圈里面有个数字如图 怎么用HTML + CSS实现呢?,第1张

<body>

<div style=" width:50pxheight:50pxbackground-color:#F00border-radius:25px">

<span style="height:50pxline-height:50pxdisplay:blockcolor:#FFFtext-align:center">4</span>

</div>

</body>

首先我们需要分析一下整个牌的构造,以普通数字牌1为例,共可分为5个部分,分别是1、外框2、颜色3、上下角标数字4、里面的白色椭圆5、中间的大数字

对应不同的部分,我们将其分解为5部分的html代码并为其添加class,1、卡牌背景2、卡牌颜色(由于布局相同只有颜色不同,故将颜色抽出成为单独的类)3、上下角标数字4、白色椭圆背景5、大数字

以下均采用代码和效果图对比的方式展示效果

布好局之后,为其添加样式。首先新建css样式表,并将其关联至html文件

首先写背景的样式,按牌的比例写出宽高,留白使用padding来写,css3的新特性我们使用了如图的圆角和阴影,为牌制造立体的感觉

然后来写牌的背景颜色,Uno牌一共有黑红黄绿蓝5种颜色,因此我们只需要事先定义好这五种颜色,之后将其对应的类名添加进来就可以了。

另外,因为上下角标的数字需要使用绝对定位,因此它们的父级元素就需要定义为相对定位

下面来写上下角标的数字,由于这里使用的是em行内元素标签,因此设置宽高的时候要记得display:inline-block。

绝对定位到需要的位置,然后将右下角的数字使用css3的旋转函数180度旋转,就可以制造出倒过来的数字了

中间的白色椭圆要怎么画呢,我们知道border-radius的值与宽高相等可以画出圆形,那么当它的值为宽的一半比高的一半时,则可以画出椭圆形,这时我们再将它旋转到合适的角度,就可以得到想要的椭圆

最后就是中间的数字,由于它是椭圆形的子元素,因此椭圆形旋转的时候,它也跟着一起旋转,要想让它摆在一个比较正的位置,还应将它旋转回来。并为它挑选一个合适的字体

至此,我们的普通数字牌已经写好了

用过Word的人都知道Word有一个“项目符号和编号”的功能,用起来很方便。Dreamweaver3的属性面板也有一个类似有的“项目符号和编号”的图标按钮,产生自动列表功能,但它只有两种形式,即方块和阿拉伯数字。不过我们可以利用Dreamweaver3的CSS定义功能去重新定义“列表符号的格式”。下面以定义一个“大写罗马数字项目列表符号”为例来说明其使用方法:

1、按F7(或点击快速启动栏里那个象“八卦图”似的图标),调出CSS面板,选择“none”,再点击面板下部的编辑图标,在弹出的“Edit Style Sheet”对话框上按“New”按钮,在弹出的“New Style”对话框中选择“Redifine HTML TAG(重定义HTML标记)”后,在下面的“Tag”选择框中选择“ol”,按OK,立即弹出“Style Definition for ol”对话框,

在“Style Definition for ol”对话框左边的选择窗口中选择“list”,在右边的面板上我们只要定义“Type”就行了,点一下右边那个三角形按钮,

2、我来解释一下上图中这个列表中各项的含义:

disc:实心圆;

circle:空心圆;

square:实心方块;

decimal:十进制数字;

lower-roman:小写罗马数字;

upper-roman:大写罗马数字;

lower-alpha:小写英文字母;

upper-alpha:大写英文字母;

none:不显示项目符号和编号。

很显然,在本例中要选择“upper-roman”,然后按OK返回(要注意“Bullet”属性现在不要选,否则有可能就不是预期的结果了)。在“Edit Style Sheet”对话框上按“Done”按钮结束。在网页源代码的〈head〉与〈/head〉之间见到的CSS代码是这样的:

以下为引用的内容:

〈style type="text/css"〉

〈!--

ol { list-style-type: upper-romancircle}

--〉

〈/style〉

对于不是使用Dreamweaver3的网友,直接把上述代码复制在〈head〉与〈/head〉之间,产生的效果相同。

3、这样当我们在设计网页时,在属性面板上点击项目编号图标,就能获得大写罗马数字的列表了,但在编辑时看到的还是十进制编号,只有在浏览时才显示其本来面目。若需要其它格式的编号,只要在第二步中选择列表中的其它样式就行了。

若是要使按下图标后,项目符号前面那个图形(默认的是实心方块)也改变为数字编号,只要在第一步中选择“Tag”标记时不要选“ol”而改为选“ul”,其它操作完全相同。如要把它改成用大写罗马数字项目符号,则得到的CSS代码是这样的:

以下为引用的内容:

〈style type="text/css"〉

〈!--

ul { list-style-type: upper-romancircle}

--〉

〈/style〉

从这里可以看,这两个图标所起的作用基本相同,只是标记不同而已。

样式是不能改变字体本身的形状的。这种使用的是webfont。

使用方法:

下载对应字体的webfont文件,然后放在网站目录(根据需要随意),然后在css里使用 @font-face 添加这个字体,最后body { font-family: "webfont"} 即可。