CSS控制边框和背景

定义简单边框

border属性(简写属性)

元素的边框(border)是围绕元素内容和内边距的一条或多条线

CSS border属性允许我们规定元素边框的样式、宽度和颜色。

定义和用法

border简写属性在一个声明设置所有的边框属性。

可以按顺序设置如下属性:

• border-width

• border-style

• border-color


如果不设置其中的某个值,也不会出问题,比如border: solid #ff0000; 也是允许的。


可能的值
描述
border-width规定边框的宽度。参阅:border-width 中可能的值。
border-style规定边框的样式。参阅:border-style 中可能的值。
border-color规定边框的颜色。参阅:border-color 中可能的值。
inherit规定应该从父元素继承 border 属性的设置。

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    .class1
    {
       border-width: 5px;
       border-color: blue;
       border-style: solid;  <!-- 不设置style的话,边框是没有任何效果的 -->
    }
  </style>
</head>

<body>
  <p class='class1'>CSS边框</a>
</body>
</html>



边框定义多种样式

我们可以为边框定义多种样式:

<!DOCTYPE html>
<html>
<head>
  <style type="text/css">
    .class1
    {
       border-width: 5px;
       border-color: blue;
       border-style: solid dotted dashed double;  <!-- 此处定义了四种样式:实线上边框、点线右边框、虚线下边框和双线左边框。这里的值采用了top-right-bottom-left顺序 -->
    }
  </style>
</head>

<body>
  <p class='class1'>CSS边框</a>
</body>
</html>



定义单边样式

如果我们希望为元素框的某一边设置边框样式,而不是设置所有4个边的样式。或者我们希望某些边的样式和其它边的样式不同,可以使用如下单边边框样式属性:

因此这两种方法是等价的:

p {border-style: solid solid solid none;}
p {border-style: solid; border-left-style: none;}

注意:要使用第二种方法,必须把单边属性放在简写属性之后。因为如果把单边属性放在border-style之前,简写属性的值就会覆盖单边值none


同理也有单边宽度和单边颜色:

同样,单边设置也可以简写为border-top等。

设置顺序依然是width style color


圆角边框

border-radius属性设置圆角边框

border-radius: 20px/15px

<!-- 此例表示一个椭圆的圆角效果,同时设定了四个圆角 -->
<!-- 圆心离边框左右边距离20px,距离上下边15px -->



定义简单背景

background属性(简写属性)

定义和用法

background简写属性在一个声明中设置所有的背景属性。

可以设置如下属性:

  • background-color
  • background-position
  • background-size
  • background-repeat
  • background-origin
  • background-clip
  • background-attachment
  • background-image

如果不设置其中的某个值,也不会出现问题,比如background: #ff0000 url('smile.gif'); 也是允许的。

通常建议使用background属性,而不是分别使用单个属性,因为这个属性在较老的浏览器中能够得到更好的支持,而且需要键入的字母更少。


背景色

可以使用background属性为元素设置背景色。这个属性接受任何合法的颜色值。

<html>
<head>

  <style type="text/css">

    body {background-color: yellow}
    h1 {background-color: #00ff00}  <!-- 这条规则把元素的背景设置为绿色 -->
    h2 {background-color: transparent}
    p {background-color: rgb(250,0,255)}

    p.no2 {background-color: gray; padding: 20px;}   <!-- 如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距 -->

  </style>

</head>

<body>

  <h1>这是标题 1</h1>
  <h2>这是标题 2</h2>
  <p>这是段落</p>
  <p class="no2">这个段落设置了内边距。</p>

</body>
</html>


可以为所有元素设置背景色,这包括body一直到em和a等行内元素。

background-color不能继承,其默认值是transparent。transparent是“透明”的意思。也就是说,如果一个元素没有指定背景色,那么背景就是透明的,这样其祖先元素的背景才能可见。


背景图像

要把图像放入背景,需要使用background-image属性。

background-image属性的默认值是none,表示背景上没有放置任何图像。

如果需要设置一个图像背景,必须为这个属性设置一个URL值:

<html>
<head>
  <style type="text/css">
    p.flower {background-image: url(http://www.w3school.com.cn/i/eg_bg_03.gif); padding: 20px;}
    p.small {width: 506px; height: 284px; background-image:url(http://a.hiphotos.baidu.com/image/h%3D300/sign=79bce699c5177f3e0f34fa0d40ce3bb9/4afbfbedab64034fd084b629a3c379310a551d57.jpg); }
    a.radio {background-image: url(http://www.w3school.com.cn/i/eg_bg_07.gif);  padding: 20px;}
  </style>

</head>

<body>
  <p class="flower">我是一个有花纹背景的段落。<a href="#" class="radio">我是一个有放射性背景的链接。</a></p>
  <p><b>注释:</b>为了清晰地显示出段落和链接的背景图像,我们为它们设置了少许内边距。</p><br /><br />
  <p class='small'>设置width和height使图片能显示完整</p>
</body>

</html>




背景重复

如果需要在页面上对背景图像进行平铺,可以使用background-repeat属性。

属性值 repeat 导致图像在水平垂直方向上都平铺,就像以往背景图像的通常做法一样。repeat-x 和 repeat-y 分别导致图像只在水平或垂直方向上重复,no-repeat 则不允许图像在任何方向上平铺。

默认的,背景图像将从一个元素的左上角开始。

<html>
<head>
  <style type="text/css">
    .small {background-image:url(http://a.hiphotos.baidu.com/image/h%3D300/sign=79bce699c5177f3e0f34fa0d40ce3bb9/4afbfbedab64034fd084b629a3c379310a551d57.jpg); }
  </style>

</head>

<body class='small'>

</body>

</html>


如果只想让图片一次都不重复,要设置no-repeat属性值

<html>
<head>
  <style type="text/css">
    .small {background-image: url(http://a.hiphotos.baidu.com/image/h%3D300/sign=79bce699c5177f3e0f34fa0d40ce3bb9/4afbfbedab64034fd084b629a3c379310a551d57.jpg); 
            background-repeat: no-repeat;
    }
  </style>

</head>

<body class='small'>

</body>

</html>



背景定位

可以利用background-position属性改变图像在背景中的位置。

<!-- 在 body 元素中将一个背景图像居中放置 -->
body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    background-position:center;
  }

为 background-position 属性提供值有很多方法。首先,可以使用一些关键字:top、bottom、left、right 和 center。通常,这些关键字会成对出现,不过也不总是这样。还可以使用长度值,如 100px 或 5cm,最后也可以使用百分数值。不同类型的值对于背景图像的放置稍有差异。


关键字

图像放置关键字最容易理解,其作用如其名称所表明的。例如,top right 使图像放置在元素内边距区的右上角。

根据规范,位置关键字可以按任何顺序出现,只要保证不超过两个关键字 - 一个对应水平方向,另一个对应垂直方向。

如果只出现一个关键字,则认为另一个关键字是 center。

所以,如果希望每个段落的中部上方出现一个图像,只需声明如下:

p
  { 
    background-image:url('bgimg.gif');
    background-repeat:no-repeat;
    
background-position:top;

  }

下面是等价的位置关键字:

单一关键字等价的关键字
centercenter center
toptop center 或 center top
bottombottom center 或 center bottom
rightright center 或 center right
left

left center 或 center left


百分数值

百分数值的表现方式更为复杂。假设你希望用百分数值将图像在其元素中居中,这很容易:

body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    
background-position:50% 50%;

  }

这会导致图像适当放置,其中心与其元素的中心对齐。换句话说,百分数值同时应用于元素和图像。也就是说,图像中描述为 50% 50% 的点(中心点)与元素中描述为 50% 50% 的点(中心点)对齐。

如果图像位于 0% 0%,其左上角将放在元素内边距区的左上角。如果图像位置是 100% 100%,会使图像的右下角放在右边距的右下角。

因此,如果你想把一个图像放在水平方向 2/3、垂直方向 1/3 处,可以这样声明:

body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    
background-position:66% 33%;

  }

如果只提供一个百分数值,所提供的这个值将用作水平值,垂直值将假设为 50%。这一点与关键字类似。

background-position 的默认值是 0% 0%,在功能上相当于 top left。这就解释了背景图像为什么总是从元素内边距区的左上角开始平铺,除非您设置了不同的位置值。


长度值

长度值解释的是元素内边距区左上角的偏移。偏移点是图像的左上角。

比如,如果设置值为 50px 100px,图像的左上角将在元素内边距区左上角向右 50 像素、向下 100 像素的位置上:

body
  { 
    background-image:url('/i/eg_bg_03.gif');
    background-repeat:no-repeat;
    
background-position:50px 100px;

  }

注意,这一点与百分数值不同,因为偏移只是从一个左上角到另一个左上角。也就是说,图像的左上角与 background-position 声明中的指定的点对齐。



背景关联

如果文档比较长,那么当文档向下滚动时,背景图像也会随之滚动。当文档滚动到超过图像的位置时,图像就会消失。

我们可以通过background-attachment属性放置这种滚动。通过这个属性,可以声明图像相对于可视区域是固定的(fixed),因此不会受到滚动的影响:

<!-- 图像始终存在于视野内 -->
body 
  {
  background-image:url(/i/eg_bg_02.gif);
  background-repeat:no-repeat;
  background-attachment:fixed
  }

background-attachment属性的默认值是scroll,也就是说,在默认的情况下,背景会随文档滚动。(图像会消失在视野内)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS中,元素的外边框(border)和背景色(background-color)是两个独立但常用的样式属性,它们用来增强页面元素的视觉呈现。下面是关于这两个特性的简要介绍: 1. **外边框(border)**: - **border-width**:设置边框的宽度,可以分别指定上、下、左、右四个边的宽度,也可以用单一值或"thin, medium, thick"等预设值。 - **border-style**:控制边框的样式,如 solid、dashed、dotted、double、groove、ridge、inset、outset等。 - **border-color**:定义边框的颜色,可以指定单一颜色,也可以使用颜色名称、十六进制值、RGB/RGBA值或渐变。 - **border-radius**:设置边框的圆角,可以单独为每个角落定义,或者统一设置所有角的圆度。 2. **背景色(background-color)**: - **background-color**:指定元素内容背后的填充颜色,可以是颜色名、十六进制值、RGB/RGBA值或图片。 - **background-image**:设置背景图片,可以是一个图片 URL 或者 "none" 表示无背景。 - **background-repeat**:决定背景图片是否平铺(repeat)、不平铺(no-repeat)、水平平铺(repeat-x)或垂直平铺(repeat-y)。 - **background-position**:设置背景图片的位置,可以是百分比、像素或 `center`, `top`, `right`, `bottom`, `left` 等关键词。 要应用这些样式,你可以直接在HTML元素的style属性中编写,或者在CSS类或ID选择器中定义。例如: ```html <div class="my-element" style="border: 1px solid #ccc; background-color: #f0f0f0;"> <!-- 元素内容 --> </div> ``` 或者在外部CSS文件中: ```css .my-element { border: 1px solid #ccc; background-color: #f0f0f0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值