css语法部分

作者: 2e919d99a871 | 来源:发表于2017-05-22 17:56 被阅读49次

前言: 看了几天HTML标签和CSS布局,我狭义的认为他们就是iOS里面的视图控件了.而且布局相对于iOS要简单一点,虽然我大iOS有AutoLayout,但是UIScrollView之类的控件写起来还是要相对复杂一点的.各有利弊,以后再边学边比较吧.(以上纯属个人看法)

  • 1 css注释代码

    /*注释部分*/
    
  • 2 内联式css样式,直接写在现有的HTML标签中
    从css样式代码插入的形式来看基本可以分为3种: 内联式,嵌入式和外部式三种.
    内联式: css样式表就是把css代码直接写在现有的HTML标签中.

        <p style="color:blue">这里是蓝色</p>
    

    如果有多条css样式代码设置,可以写在一起,中间分好隔开.

    <p style="color:blue;font-size:18px;font-weight:blod">
    这里是文字
    </p>
    
  • 2 嵌入式css样式,写在当前的文件中

    <style type = "text/css">
    span{
    color: blue;
    font-size: 12px;
    }
    </style>
    
  • 3 外部式css样式,写在一个单独的文件中
    也称外联式,把css代码写在一个单独外部文件中,这个css样式文件以".css"为扩展名.在<head>内(而不是在< style>标签内) 使用<link>标签将css样式文件链接到HTML文件内,代码如下:

    <link href="base.css" rel="stylesheet" type="text/css"/>
    
  • 4 三种样式的优先级
    内联式 > 嵌入式 > 外部式
    但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面.

    <head>
    

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>嵌入式css样式</title>
<style type="text/css">
#shijian{
color:green;
font-size:5px;
}
</style>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<p>慕课网,<span>超酷的互联网</span >、IT技术免费学习平台,创新的网络一站式学习、<span id = "shijian">实践体验</span>;服务及时贴心,内容专业、有趣易学。专注服务互联网工程师快速成为技术高手!</p>
</body>

#shijian{
color:blue;
font-size:30px;
}
结论: 此时"实践体验"字体是蓝色的,因为嵌入式css样式的位置在外部式的前面了.
```

  • 5 类选择器
    语法: .类选择器名称{css样式代码;

    1、英文圆点开头
    2、其中类选器名称可以任意起名(但不要起中文噢)
    使用:
    <span>胆小如鼠</span>
    <span class = "stress">胆小如鼠</span>
    /*设置类选择器css样式,类前面要加一个英文圆点*/
    .stress{
        color:red;
    }
    
  • 6 ID选择器
    为标签设置id = "ID名称"
    ID选择符的前面是"#"

    <style type="text/css">
    #stress{
        color:red;
    }
    
    </style>
    </head>
    <body>
        <h1>勇气</h1>
        <p>三年级时,我还是一个<span id="stress">胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
        <p>到了三年级下学期时,我们班上了一节公开课,老师提出了一个很简单的问题,班里很多同学都举手了,甚至成绩比我差很多的,也举手了,还说着:"我来,我来。"我环顾了四周,就我没有举手。</p>
    
    </body>
    
  • 6 类和ID选择器的区别

    1. ID选择器只能在文档中使用一次.ID在一个HTML文档中,ID选择器只能使用一次,而且仅一次.而类选择器可以使用多次.
    2. 可以使用类选择器词列表方法为一个元素同时设置多个样式.
    .stress{
        color:red;
    }
    .bigsize{
        font-size:25px;
    }
    <p>到了<span class = "stress bigsize">三年级</span>下学期时</p>
    
  • 7 子选择器

    用大于符号(>),用于选择指定标签元素的第一代子元素.
    .food > li {borde:1px solid red;}
    代码如下:
    <html>
    

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>子选择符</title>
<style type="text/css">
.food > li{color: blue;}/添加边框样式(粗细为1px, 颜色为红色的实线)/
.first > span{border:1px solid red;}
</style>
</head>
<body>
<p class="first">三年级时,<span>我还是一个<span>胆小如鼠</span>的小女孩</span>,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
<h1>食物</h1>
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>苹果</li>
<li>梨</li>
</ul>
</li>
<li>蔬菜
<ul>
<li>白菜</li>
<li>油菜</li>
<li>卷心菜</li>
</ul>
</li>
</ul>
</body>
</html>
效果图时这样的:
```

14954364402366.jpg
```
子选择器我开始没看懂,但是看到评论区有个人分析,才恍然大悟,>这个“选择指定标签元素的第一代子元素”就是让样式只作用于它的孩子,不作用与他的孙子。注意看这段代码:
<p class="first"><span>我还是一个<span>胆小如鼠</span>的小女孩</span></p>
看清了外面的span是p标签的亲儿子,而里面的span是p标签的孙子,所有,子选择器选择的是外面的span标签,所以是外面的span元素有红色边框...(说实话,技术课程搞那么多虚的概念不如大白话来的明白!)
```
  • 8 包含(后代)选择器,加入空格,用于选择指定标签元素下的后辈元素.

    .first span{color: red;}
    

与子选择器的区别: 子选择器仅是指它的直接后代,而后代选择器作用与所有后代子元素.

```HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>后代选择器</title>
<style type="text/css">
.first span{color:red;border: 1px solid blue;}

.food li{
    border:1px solid red;/*添加边框样式(粗细为1px, 颜色为红色的实线)*/   
}
</style>
</head>
<body>
 <p class="first">三年级时,<span>我还是一个<span>胆小如鼠</span>的小女孩</span>,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
<!--下面是本小节任务代码-->
<ul class="food">
    <li>水果
        <ul>
            <li>香蕉</li>
            <li>苹果</li>
            <li>梨</li>
        </ul>
    </li>
    <li>蔬菜
        <ul>
            <li>白菜</li>
            <li>油菜</li>
            <li>卷心菜</li>
        </ul>
    </li>
</ul>

代码运行结果:
```
14954371747130.jpg

注意: 慕课给出的例子还是不太容易理解,我对代码稍稍做了修改,更能轻易的对比出包含选择器和子选择器的区.

  • 9 通用选择器
    使用一个(*)指定,作用是匹配html中所有标签元素

    {color:red;}
    
  • 10 伪类选择符
    它允许给html不存在的标签(标签的某种状态)设置样式,比如说我们给html中一个标签元素的鼠标滑过的状态来设置字体颜色:

    a:hover{color:red;}
    

意思就是为a标签划过的状态设置字体颜色变红.目前为止,可以兼容所有浏览器的"伪类选择符"就是a标签上使用 :hover了,比较常用的还是 a:hover 的组合

  • 11 分组选择器
    当你想为html中多个标签元素设置同一个样式时,可以使用分组选择符;

    h1,span{color:red;}
    /*相当于*/
    h1{color:red;}
    span{color:red;}
    

示例:

```HTML
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>分组选择符</title>
<style type="text/css">

.first span,#second span,.askMe span{color:green;}
</style>
</head>
<body>
    <h1>勇气</h1>
    <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会<span class = "askMe">批评我</span>。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>
    <p id="second">到了三年级下学期时,我们班上了一节公开课,老师提出了一个很<span>简单</span>的问题,班里很多同学都举手了,甚至成绩比我差很多的,也举手了,还说着:"我来,我来。"我环顾了四周,就我没有举手。</p>
    ![](http:https://img.haomeiwen.com/i1526313/760d0a2982c0befd.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
</body>
</html>
```
  • 12 继承
    cs的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码: 某种颜色应用于p标签,这里子元素为span标签.

    p{color:red;}
    <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</p>
    

span中的文本也被设置成了红色.但有一些css样式是不具有继承性的.比如 border:1px solid red;

  • 13 特殊性
    有时候我们为同一个元素设置了不同的css样式代码,那么元素会启用哪一个css样式呢?

    p{color:red;}
    .first{color:green;}
    <p>三年级时,我还是一个<span>胆小如鼠</span>的小女孩</p>
    /*会显示绿色,浏览器会按照权值来判断使用哪种css样式,哪种权值高的就使用哪种css样式*/
    

权值的规则:
标签权值为1,类选择符的权值为10,ID选择符的权值最高为100.继承也有权值,但是最低(0.1)

  • 14 层叠
    一个元素有多个css样式,当有相同权重的样式存在时,会根据这些css样式的前后顺序来解决,处于最后面的css样式会被应用.

    p{color:red;}
    p{color:green;}
    <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩。</p>
    /*最后 p 中的文本会设置为green,这个层叠很好理解,理解为后面的样式会覆盖前面的样式。所以前面的css样式优先级就不难理解了:
    

内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。*/
```

  • 15 手动设置最高权值
    使用!important手动设置某些样式的最高权值

    p{color:red !important;}
    p{color:green;}
    <p class = "first"> 三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</span>
    /*p段落中的文本会显示红色,尽管红色设置在绿色前面*/
    

注意: !important要写在分号的前面,即使是下面的代码(类选择器的权值高于标签),p段落的文本也会显示红色哦~

```HTML
p{color: red !important;}
.first{color: green}
<p class = "first"> 三年级时,我还是一个<span>胆小如鼠</span>的小女孩.</span>
```
  • 16 文字排版 -- 字体
    为网页的文字设置字体为宋体,代码:

    body{font-family: "宋体";}
    

注意: 不要设置不常用的字体,因为如果用户本地电脑上没有安装你设置的字体,就会显示浏览器的默认字体.一般的网页喜欢设置"微软雅黑":

```CSS
body{font-family: "Microsoft Yahei";} 
/*or*/
body{font-family: "微软雅黑";}
/*第一种比第二种兼容性更好一些*/
```
  • 17 文字排版

    /*字号、颜色:*/
    body{font-size: 12px;color: #666}
    
    /*粗体:*/
    p span{font-weight: bold;}
    
    /*斜体*/
    p a{font-style: italic;}
    <p>三年级时,我还是一个<a>胆小如鼠</a>的小女孩。</p>
    
    /*下划线*/
    p a{text-decoration: underline;}
    <p>三年级时,我还是一个<a>胆小如鼠</a>的小女孩。</p>
    
    /*删除线*/
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>删除样式</title>
    <style type="text/css">
    .oldPrice{text-decoration: line-through;}
    </style>
    </head>
    <body>
    <p>原价:<span class="oldPrice">300</span>元 现价:230 元</p> 
    </body>
    </html>
    
    <!--段落排版,缩进-->
    p{text-indent: 2em;}
    <p>1922年的春天,一个想要成名名叫尼克卡拉威(托比?马奎尔Tobey Maguire 饰)的作家,离开了美国中西部,来到了纽约。那是一个道德感渐失,爵士乐流行,走私为王,股票飞涨的时代。为了追寻他的美国梦,他搬入纽约附近一海湾居住。</p>
    
    <!--段落排版,行间距(行高)-->
    p{line-height: 1.5em;}
    <p>菲茨杰拉德,二十世纪美国文学巨擘之一,兼具作家和编剧双重身份。他以诗人的敏感和戏剧家的想象为"爵士乐时代"吟唱华丽挽歌,其诗人和梦想家的气质亦为那个奢靡年代的不二注解。</p>
    
    <!--中文文字间隔,字母间隔-->
    h1{letter-spacing: 50px;}
    <h1>了不起的盖茨比</h1>
    <!--英文单词之间的间隔-->
    h1{word-spacing: 50px;}
    <h1>welcome to China!</h1>
    
    <!--段落排版,对齐-->
    h1{text-align: center;}
    <h1>了不起的盖茨比</h1>
    <!--居左-->
    h1{text-align: left;}
    <h1>了不起的盖茨比</h1>
    <!--居右-->
    h1{text-align: right;}
    <h1>了不起的盖茨比</h1>
    
  • 18 元素分类
    html中的标签元素大体被分为三种不同的类型: 块状元素、内联元素(又叫行内元素)和内联块状元素.

    <!--常用的块状元素-->
    <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
    <!--常用的内联元素-->
    <a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
    <!--常用的内联块状元素-->
    <img>、<input>
    

块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
将内联元素a转换为块状元素:
a{display: block;}

内联元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
将块状元素转换为内联元素:
div{display: inline;}

内联块状元素特点:
同时具有内联元素和块状元素的特点.
1、和其它元素都在一行上;
2、元素的高度、宽度、行高以及顶和低边距都可设置
将元素设置为内联块状元素:
display: inline-block;


    ```
       <!--a 
       元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的。如果将a元素设置为内联块状元素就可以了.
       -->
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
       <title>内联块状元素</title>
       <style type="text/css">
       a{
           display: inline-block;
        width:20px;/*在默认情况下宽度不起作用*/
        height:20px;/*在默认情况下高度不起作用*/
        background:pink;/*设置背景颜色为粉色*/
        text-align:center; /*设置文本居中显示*/
       }
       </style>
       </head>
       <body>
       <a>1</a>
       <a>2</a>
       <a>3</a>
       <a>4</a>
       </body>
       </html>
    ```

* 19 盒模型的边框

    ```CSS
    /*边框: 盒子模型的边框就是围绕着内容及补白的线,这条线可以设置它的粗细、样式和颜色*/
    div{ border: 2px solid red; }
    /*也可以写成这样*/
    div{
        border-width: 2px;
        border-style: solid;
        border-color: red;
    }
    ```

    ```
    注意:
    1、border-style(边框样式)常见样式有:
    dashed(虚线)| dotted(点线)| solid(实线)。
    2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
    border-color:#888;//前面的井号不要忘掉。
    3、border-width(边框宽度)中的宽度也可以设置为:
    thin | medium | thick(但不是很常用),最常还是用象素(px)。
    ```

    ```CSS
    /*单独设置一个方向的边框*/
    div{border-bottom: 1px solid red;}
    /*同样可以使用下面的代码设置其他方向的边框*/
    div{
        border-top: 1px solid red;
        border-right: 1px solid red;
        border-left: 1px solid red;
    }
    ```
* 20 盒模型的宽度和高度    

    ```
    盒模型的宽度和高度指的是填充以里的内容范围.
    一个元素实际宽度(盒子的宽度) = 左边界 + 左边框 + 左填充 + 内容宽度 + 右填充 + 有边框 + 右边界.
    元素的高度同理.
    ```

![14951611926229.jpg](http:https://img.haomeiwen.com/i1526313/14cb27777005677e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

      
* 21 盒模型的填充

    ```CSS
    元素的内容和边框之间是可以设置距离的,称之为"填充",填充可分为上右下左(顺时针).
    div{padding: 20px 10px 15px 30px;}
    /*顺序不要搞混,可以分开写上面的代码*/
    div{
        padding-top: 20px;
        padding-right: 10px;
        padding-bottom: 15px;
        padding-left: 30px;
    }
    /*如果上右下左的填充都为10px,可以这样*/
    div{padding: 10px;}
    /*如果上下填充一样,左右一样,可以这样*/
    div{padding: 10px 20px;}
    ```

![~HQX@~G~H7P5%0I~~-OU5-O.jpg](http:https://img.haomeiwen.com/i1526313/a027d2215e99871b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/300)

![14951644122414.jpg](http:https://img.haomeiwen.com/i1526313/a8670ad8655789f6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/550)


* 22 盒模型的边界

    ```CSS
    /*使用边界margin来设置,边界也是可分为上右下左:*/
    div{margin: 20px 10px 15px 30px;}
    /*也可以分开写*/
    div{
        margin-top: 20px;
        margin-right: 10px;
        margin-bottom: 15px;
        margin-left: 30px;
    }
    /*边界都一样的*/
    div{
        margin: 10px;
    }
    /*上下一样,左右一样的*/
    div{
        margin: 10px 20px;
    }
    ```
    ```
    结论: padding和margin的区别,padding在边框里,margin在边框外
    ```
* 23 css布局模型

    ```
    清楚了CSS 盒模型的基本概念、 盒模型类型, 我们就可以深入探讨网页布局的基本模型了。布局模型与盒模型一样都是 CSS 最基本、 最核心的概念。 但布局模型是建立在盒模型基础之上,又不同于我们常说的 CSS 布局样式或 CSS 布局模板。如果说布局模型是本,那么 CSS 布局模板就是末了,是外在的表现形式。 
    CSS包含3种基本的布局模型,用英文概括为:Flow、Layer 和 Float。
    在网页中,元素有三种布局模型:
    1、流动模型(Flow)
    2、浮动模型 (Float)
    3、层模型(Layer)
    ```
* 24 流动模型   

    ```
    流动是默认的网页布局模式.网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的.流动布局模型具有2个比较典型的特征:
    第一,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%.实际上,块状元素都会以行的形式占据位置.
    第二,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示.
    ```
* 25 浮动模型

    ```HTML
    块状元素独占一行,如果我们想让两个块状元素并排显示,怎么办呢?答案是设置元素浮动.
    默认情况下,任何元素都是不能浮动的,但是可以用CSS定义为浮动.如下代码可以实现两个div元素一行显示
    div{
        width: 200px;
        height: 200px;
        border: 2px red solid;
        float: left
    }
    <div id = "div1"></div>
    <div id = "div2"></div>
    ```
![14951841449148.jpg](http:https://img.haomeiwen.com/i1526313/f8c5f013faff9703.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/550)
    ```
    /*当然也可以设置两个元素右浮动,也可以实现一行显示*/
    div{
        width: 200px;
        height: 200px;
        border: 2px red solid;
        float: right;
    }
    ```

![14951842383390.jpg](http:https://img.haomeiwen.com/i1526313/08bfcd07776f0ca5.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/550)


    ```css
    /*设置一左一右*/
    div{
        width: 200px;
        height: 200px;
        border: 2px red solid;
    }
    #.div1 {float: left;}
    #.div2 {float: right;}
    ```

![14951843627308.jpg](http:https://img.haomeiwen.com/i1526313/1f0638416449488a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/550)

* 26 层模型

    ```
    CSS定义了一组定位(positioning)属性来支持层布局模型.
    层模型有三种形式:
    1. 绝对定位(position: absolute)
    2. 相对定位(position: relative)
    3. 固定定位(position: fixed)
    ```
    ```
    层模型的绝对定位: 将元素从文档流中拖出来,然后使用left 、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位.如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口.
    ```
**个人总结: 相当于移动端开发的frame布局(这点大家都很懂,蜜汁微笑)**

    ```CSS
    div{
        width: 200px;
        height: 200px;
        border: 2px red solid;
        position: absolute;
        left: 100px;
        top: 50px;
    }
    <div id = "div1"></div>
    ```
效果如下:

![14951852082151.jpg](http:https://img.haomeiwen.com/i1526313/31f9101bc5c9d49c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/500)


层模型的相对定位
position: relative(表示相对定位),它通过left、right、top、bottom属性确定元素
在正常文档流中的偏移位置.首先按static(float)方式生成一个元素(并且元素像层一样浮动
了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性
确定,偏移前的位置保留不动.
如下代码实现相对于以前位置向下移动50px,向右移动100px;
#div1{
    width: 200px;
    height: 200px;
    border: 2px red solid;
    position: relative;
    left: 100px;
    top: 50px;
}
<div id = "div1"></div>
```

效果图:


14951876467910.jpg
 /*如果加上这段代码,便能清楚的理解"偏移前的位置保留不动"了,效果图如下*/
<body>
    <div id="div1"></div><span>偏移前的位置还保留不动,覆盖不了前面的div没有偏移前的位置</span>
</body>
14951877626489.jpg
层模型的固定定位:
注意: 如果你是移动端开发者,你可以把它理解成一个悬浮框(解释的内容可以跳开不看了),如果不明白,再去看如下解释
fixed: 表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身,由于视图本身是固定的,他不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口视图的某个位置,不会受到文档流动影响.
代码:
#div1{
  width:200px;
  height:200px; 
  border:2px red solid; 
  position: fixed; 
  bottom: 0; 
  right: 0;
}
<div id="div1"></div>
  • 27 relative 与 Absolute组合使用

    使用position: absolute 可以实现被设置元素相对于浏览器设置定位,但是可不可以相对其它元素进行定位呢?答案是可以的,使用 position: relative来帮忙,但是必须遵守下面的规范:
    1. 参照定位的元素必须是相对定位元素的前辈元素(相当于iOS的父控件):
    <div id = "box1"> <!--参照定位元素-->
        <div id = "box2">相对参照元素进行定位</div>
    </div>
    2. 参照定位的元素必须加入 position: relative;
    #box1{
        width: 200px;
        height: 200px;
        position: relative;
    }
    3. 定位元素加入position: absolute,便可以使用top、bottom、left、right来进行偏移定位了.
    #box2{
        position: absolute;
        top: 200px;
        left: 30px;
    }
    这样,box2就可以相对于父元素box1定位了(这里注意: 参照物此时就可以不是浏览器了,而可以自由设置了).
    个人总结: 被定位元素想要相对于父类元素设置绝对定位,需父类元素实现 position: relative.
    
  • 28 盒模型代码简写

    还记得在讲盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。具体应用在margin和padding的例子如下:
    margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/
    通常有下面三种缩写方法:
    
    1、如果top、right、bottom、left的值相同,如下面代码:
    margin:10px 10px 10px 10px;
    可缩写为:
    margin:10px;
    
    2、如果top和bottom值相同、left和 right的值相同,如下面代码:
    margin:10px 20px 10px 20px;
    可缩写为:
    margin: 10px 20px;
    
    3、如果left和right的值相同,如下面代码:
    margin:10px 20px 30px 20px;
    可缩写为:
    margin: 10px 20px 20px;
    
    注意:padding、border的缩写方法和margin是一致的。
    
  • 29 字体缩写

    网页中的字体css样式代码也有他自己的缩写方式,下面是给网页设置字体的代码:
    body{
        font-style:italic;
        font-variant:small-caps; 
        font-weight:bold; 
        font-size:12px; 
        line-height:1.5em; 
        font-family:"宋体",sans-serif;
    }
    这么多行代码可以缩写为一句:
    body{
        font: italic small-caps bold 12px/1.5em "宋体",sans-serif;
    }
    注意:
    1、使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-variant、line-height)如未指定将自动使用默认值。
    
    2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。
    
    一般情况下因为对于中文网站,英文还是比较少的,所以下面缩写代码比较常用:
    body{
        font:12px/1.5em  "宋体",sans-serif;
    }
    只是有字号、行间距、中文字体、英文字体设置。
    
  • 30 颜色值

    1、英文命令颜色
    p{color:red;}
    
    2、RGB颜色
    这个与 photoshop 中的 RGB 颜色是一致的,由 R(red)、G(green)、B(blue) 三种颜色的比例来配色。
    p{color:rgb(133,45,200);}
    每一项的值可以是 0~255 之间的整数,也可以是 0%~100% 的百分数。如:
    p{color:rgb(20%,33%,25%);}
    
    3、十六进制颜色
    这种颜色设置方法是现在比较普遍使用的方法,其原理其实也是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。
    p{color:#00ffff;}
    
  • 31 长度值

    长度单位总结一下,目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位.
    1、像素
    
    像素为什么是相对单位呢?因为像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)。实际情况是浏览器会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(px)作为单位。
    
    2、em
    
    就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码:
    p{font-size:12px;text-indent:2em;}
    上面代码就是可以实现段落首行缩进 24px(也就是两个字体大小的距离)。
    
    下面注意一个特殊情况:
    但当给 font-size 设置单位为 em 时,此时计算的标准以 p 的父元素的 font-size 为基础。如下代码:
    
    html:
    <p>以这个<span>例子</span>为例。</p>
    
    css:
    p{font-size:14px}
    span{font-size:0.8em;}
    结果 span 中的字体“例子”字体大小就为 11.2px(14 * 0.8 = 11.2px)
    老子的字体大小是14px,儿子的1em就是14px,没错,这很css.
    
    3、百分比
    
    p{font-size:12px;line-height:130%}
    设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)。
    

结束语:
持续挖坑中...

相关文章

  • css语法部分

    前言: 看了几天HTML标签和CSS布局,我狭义的认为他们就是iOS里面的视图控件了.而且布局相对于iOS要简单一...

  • day02-微信小程序基础(wxml+wxss)

    WXSS语法 WXSS和CSS: WXSS(WeiXin Style Sheets) 具有 CSS 大部分特性...

  • web前端入门到实战:CSS的语法与工作流

    本篇则主要介绍CSS的语法与CSS是如何工作的。 CSS语法 1. 基本规则 CSS规则主要由两部分组成:选择器(...

  • 第二次问答作业&知识点总结

    1.什么是css语法?CSS 语法由三部分构成:选择器、属性和值。selector {property:value...

  • 1.什么是css语法? CSS 语法由三部分构成:选择器、属性和值。selector {property: val...

  • 第二次问答作业

    1.什么是CSS语法? CSS 语法由三部分构成:选择器、属性和值。selector {property: val...

  • CSS选择器

    CSS语法规则 CSS的语法规则由两个主要的部分构成:CSS选择器(selector),以及一条或多条声明(dec...

  • CSS(层叠样式表)

    CSS 的语法 1.基本语法规则CSS 的语法规则比较简单,由 3 部分组成:选择器、属性和值,写法如下: 其中选...

  • 第二次作业(学习中碰到的各种问题)

    1.作业 1.1什么是css语法? 答:CSS 语法由三部分构成:选择器、属性和值。CSS又名层叠样式表,选择器通...

  • CSS选择符类型

    CSS的语法: CSS 的定义是由三个部分构成: 选择符(selector),属性(properties)和属性的...

网友评论

    本文标题:css语法部分

    本文链接:https://www.haomeiwen.com/subject/iqkixxtx.html