css基础进阶

简介: css知识点一、盒模型知识border: 边框border-width:边框的宽度border-color:边框的颜色border-style:边框的线型border-top:上边框border-bottom:下边框border-lef...

css知识点

一、盒模型知识

border:

边框

  • border-width:边框的宽度
  • border-color:边框的颜色
  • border-style:边框的线型

  • border-top:上边框

  • border-bottom:下边框
  • border-left:左边框
  • border-right:右边框

padding:

代表边框内壁与内部元素之间的距离

  • padding:10px;代表上下左右都是10px

  • padding:1px 2px 3px 4px;上右下左

  • padding:1px 2px;上下/左右

  • padding:1px 2px 3px; 上/左右/下

  • padding-top:单独设置

margin:

代表边框外壁与其他元素之间的距离

  • margin:10px;代表上下左右都是10px

  • margin:1px 2px 3px 4px;上右下左

  • margin:1px 2px;上下/左右

  • margin:1px 2px 3px;上/左右/下

  • margin-top:单独设置

二、css选择器

选择器的优先级:id>class>元素

1、基本选择器

(1)元素选择器

语法:html标签名{css属性}
示例:

<span>hello css!!!</span>
<style type="text/css">
    span{color:red;font-size:100px; }
</style>

(2)id选择器 id唯一性

语法:#id的值{css属性}
示例:

            <div id="div1">hello css1!!!</div>
            <div id="div2">hello css2!!!</div>
            <style type="text/css">
                #div1{background-color: red;}
                #div2{background-color: pink;}
            </style>

(3)class选择器

语法:.class的值{css属性}
示例:

            <div class="style1">div1</div>
            <div class="style1">div2</div>
            <div class="style2">div3</div>
            <style type="text/css">
                .style1{background-color: red}
                .style2{background-color: pink}
            </style>

2、属性选择器(a、input、p…)

语法:基本选择器[属性=‘属性值’]{css属性}
示例:

        <form action="">
            name:<input type="text" /><br/>
            pass:<input type="password" /><br/>
        </form>
        <style type="text/css">
            input[type='text']{background-color: yellow}
            input[type='password']{background-color: pink}
        </style>

3、伪元素选择器 (a:link、hover、active、visited)

a标签的伪元素选择器
语法:

  • 静止状态 a:link{css属性}
  • 悬浮状态 a:hover{css属性}
  • 触发状态 a:active{css属性}
  • 完成状态 a:visited{css属性}

示例:

            <a href="#">点击我吧</a>
            <style type="text/css">
                a:link{color:blue}
                a:hover{color:red}
                a:active{color:yellow}
                a:visited{color:green}
            </style>

4、层级选择器(#d1 .dd2 span)

语法:父级选择器 子级选择器 …..
示例:

        <div id="d1">
            <div class="dd1">
                <span>span1-1</span>
            </div>
            <div class="dd2">
                <span>span1-2</span>
            </div>
        </div>
        <div id="d2">
            <div class="dd1">
                <span>span1-1</span>
            </div>
            <div class="dd2">
                <span>span1-2</span>
            </div>
        </div>
        <style type="text/css">
            #d1 .dd2 span{color:red}
        </style>

5.伪类与 CSS 类

语法

伪类的语法:

selector : pseudo-class {property: value}CSS 类也可与伪类搭配使用。

selector.class : pseudo-class {property: value}

a.red : visited {color: #FF0000}

<a class="red" href="css_syntax.asp">CSS Syntax</a>

假如上面的例子中的链接被访问过,那么它将显示为红色。

6.子元素选择器

语法:

语法 父级选择器>子级选择器(中间用 “ > ”连接

如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器(Child selector)。

h1 > strong {color:red;}

这个规则会把紧跟 h1 下面的 strong 元素变为红色

选择相邻兄弟(h1+p)

语法: 标签+标签

用一个结合符只能选择两个相邻兄弟中的第二个元素

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

例如,如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px;}这个选择器读作:“选择紧接在 h1 元素后出现的段落,h1 和 p 元素拥有共同的父元素”。

锚伪类

在支持 CSS 的浏览器中,链接的不同状态都可以不同的方式显示,这些状态包括:活动状态,已被访问状态,未被访问状态,和鼠标悬停状态。

  • a:link {color: #FF0000} /* 未访问的链接 */
  • a:visited {color: #00FF00} /* 已访问的链接 */
  • a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
  • a:active {color: #0000FF} /* 选定的链接 */

提示:在 CSS 定义中,a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。

提示:在 CSS 定义中,a:active 必须被置于 a:hover 之后,才是有效的。

提示:伪类名称对大小写不敏感。

标签:first-child 伪类

您可以使用 :first-child 伪类来选择元素的第一个子元素。这个特定伪类很容易遭到误解,所以有必要举例来说明。考虑以下标记:

<div>
<p>These are the necessary steps:</p>
<ul>
<li>Intert Key</li>
<li>Turn key <strong>clockwise</strong></li>
<li>Push accelerator</li>
</ul>
<p>Do <em>not</em> push the brake at the same time as the accelerator.</p>
</div>

伪类 第一个元素 first-child 或者nth-child(1)
其他: a:not(:first-child)

三、css属性

1、文字属性

  • font-size:大小
  • font-family:字体类型

2、文本属性

  • color:颜色
  • line-height:行高
  • text-decoration :文本装饰

    属性值

    - none
    - underline 会对元素加下划线
    - overline
    - line-through
    - blink


属性值:none underline
  • text-align:对齐方式

    属性值:left center right

    hello css!!!

    click me!!!

    div{color:red;text-decoration: underline;text-align: right }
    a{text-decoration: none;}

  • text-indent:文本缩进

所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。

text-indent 还可以设置为负值。利用这种技术,可以实现很多有趣的效果,比如“悬挂缩进”,即第一行悬挂在元素中余下部分的左边:

3、背景属性

  • background:简写属性

    属性值: 颜色 url 平铺方式 移动位置(left top)

  • background-color:背景颜色

  • background-image:背景图片

属性值:url(“图片地址”);

  • background-repeat:平铺方式

    属性值:默认横向纵向平铺

    1. repeat:横向纵向平铺
    2. no-repeat:不平铺
    3. repeat-y:纵向
    4. repeat-x:横向

      body{
      background-color: black;
      background-image: url(“images/dog.gif”);
      background-repeat: repeat-y;
      }

注意:

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

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

body 
  {
  background-image:url(/i/eg_bg_02.gif);
  background-repeat:no-repeat;
  background-attachment:fixed
  }

CSS 背景属性

属性               描述 
  • background                     简写属性,作用是将背景属性设置在一个声明中。
  • background-attachment  背景图像是否固定或者随着页面的其余部分滚动。
  • background-color           设置元素的背景颜色。
  • background-image         把图像设置为背景。
  • background-position      设置背景图像的起始位置。
  • background-repeat        设置背景图像是否及如何重复。

4、列表属性

  • list-style-type:列表项前的小标志

属性值:太多了

  • list-style-image:列表项前的小图片

属性值:url(“图片地址”);

        <ul>
            <li>程序员</li>
            <li>程序员</li>
            <li>程序员</li>
            <li>程序员</li>
        </ul>
        <style type="text/css">
            /* ul{list-style-type: decimal-leading-zero;} */
            ul{list-style-image: url("images/forward.gif");}
        </style>

5、尺寸属性

  • width:宽度
  • height:高度

        <div id="d1">div1</div>
        <div id="d2">div2</div>
        <style type="text/css">
            #d1{background-color: red;width: 200px;height: 200px;}
            #d2{background-color: pink;width: 200px;height: 200px;}
        </style>
    

6、表格属性

  • border-collapse :折叠边框

    属性设置是否将表格边框折叠为单一边框

  • text-align 和 vertical-align 属性设置表格中文本的对齐方式。

    text-align 属性设置水平对齐方式,比如左对齐、右对齐或者居中:

    vertical-align 属性设置垂直对齐方式,比如顶部对齐、底部对齐或居中对齐

CSS Table 属性

属性                                       描述

border-collapse     设置是否把表格边框合并为单一的边框。 
border-spacing      设置分隔单元格边框的距离。 
caption-side        设置表格标题的位置。 
empty-cells         设置是否显示表格中的空单元格。 
table-layout        设置显示单元、行和列的算法。 
table
  {
  border-collapse:collapse;
  }

7、显示属性

  • display:

属性值:

  1. none:隐藏
  2. block:块级显示
  3. inline:行级显示
        <form action="">
            name:<input id="name" type="text" /><span id="span">对不起 输入不符合要求</span>
            <br>
            pass:<input id="pass" type="password" />
            <br>
            <input id="btn" type="button" value="button" />
        </form>
        <style type="text/css">
            span{color:red;display: none}
        </style>
        <script type="text/javascript">
            document.getElementById("btn").onclick = function(){
                document.getElementById("span").style.display = "inline";
            };
        </script>

8、浮动属性

float:
属性值:

  1. left
  2. right
  3. clear:清除浮动 left right both

缺点 :

  • (1)影响相邻元素不能正常显示
  • (2)影响父元素不能正常显示
相关文章
|
7月前
|
Web App开发 前端开发 容器
CSS进阶: 选择器进阶、背景相关属性、元素显示模式、CSS特性
CSS进阶: 选择器进阶、背景相关属性、元素显示模式、CSS特性
104 1
|
8天前
|
前端开发
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果(下)
【CSS进阶】使用CSS gradient制作绚丽渐变纹理背景效果
46 0
|
8天前
|
前端开发
【CSS进阶】巧用伪元素before和after制作绚丽效果(下)
【CSS进阶】巧用伪元素before和after制作绚丽效果(下)
11 0
|
2月前
|
Web App开发 前端开发 容器
前端秘法进阶----css中那些不能说的秘密
前端秘法进阶----css中那些不能说的秘密
|
3月前
|
Web App开发 前端开发 小程序
【CSS进阶】伪元素的妙用--单标签之美
【CSS进阶】伪元素的妙用--单标签之美
|
7月前
|
前端开发
html和css进阶小练习
html和css进阶小练习
|
7月前
|
编解码 前端开发 JavaScript
html和css进阶
html和css进阶
|
9月前
|
前端开发
Css进阶>>Css3让你玩的开心哦。(二)
Css进阶>>Css3让你玩的开心哦。(二)
56 0
|
9月前
|
前端开发
Css进阶>>Css3让你玩的开心哦。(一)
Css进阶>>Css3让你玩的开心哦。(一)
62 0
|
10月前
|
前端开发 容器
CSS进阶标签属性及案例
CSS进阶标签属性及案例
41 0