CSS

作者: 落幕晟伤 | 来源:发表于2021-06-27 21:30 被阅读0次

    什么是 CSS?

    CSS 指层叠样式表 (Cascading Style Sheets)
    样式定义如何显示 HTML 元素
    样式通常存储在样式表中
    把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
    外部样式表可以极大提高工作效率
    外部样式表通常存储在 CSS 文件中
    多个样式定义可层叠为一个

    CSS创建

    插入样式表的方法有三种:
    外部样式表(External style sheet)
    内部样式表(Internal style sheet)
    内联样式(Inline style)
    多重样式
    如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。
    例如,外部样式表拥有针对 h3 选择器的三个属性:

    h3
    {
        color:red;
        text-align:left;
        font-size:8pt;
    }
    

    而内部样式表拥有针对 h3 选择器的两个属性:

    h3
    {
        text-align:right;
        font-size:20pt;
    }
    

    假如拥有内部样式表的这个页面同时与外部样式表链接,那么 h3 得到的样式是:

    color:red;
    text-align:right;
    font-size:20pt;
    

    即颜色属性将被继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。

    多重样式优先级

    样式表允许以多种方式规定样式信息。样式可以规定在单个的 HTML 元素中,在 HTML 页的头元素中,或在一个外部的 CSS 文件中。甚至可以在同一个 HTML 文档内部引用多个外部样式表。
    一般情况下,优先级如下:
    (内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览器默认样式

    id 选择器

    id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
    HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。
    以下的样式规则应用于元素属性 id="para1"

    #para1
    {
        text-align:center;
        color:red;
    }
    

    class选择器

    class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。
    class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:

    .center {text-align:center;}
    
    p.center {text-align:center;}
    

    嵌套选择器
    它可能适用于选择器内部的选择器的样式。
    在下面的例子设置了四个样式:
    p{ }: 为所有 p 元素指定一个样式。
    .marked{ }: 为所有 class="marked" 的元素指定一个样式。
    .marked p{ }: 为所有 class="marked" 元素内的 p 元素指定一个样式。
    p.marked{ }: 为所有 class="marked" 的 p 元素指定一个样式。

    背景

    CSS 属性定义背景效果:
    background-color 属性定义了元素的背景颜色
    background-image 属性描述了元素的背景图像
    默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体
    background-repeat
    background-attachment
    background-position 为了让页面排版更加合理,不影响文本的阅读,我们可以改变图像的位置

    文本对齐方式

    文本排列属性是用来设置文本的水平对齐方式。
    文本可居中或对齐到左或右,两端对齐.
    当text-align设置为"justify",每一行被展开为宽度相等,左,右外边距是对齐

    文本修饰

    text-decoration 属性用来设置或删除文本的装饰。
    从设计的角度看 text-decoration属性主要是用来删除链接的下划线

    h1 {text-decoration:overline;}
    h2 {text-decoration:line-through;}
    h3 {text-decoration:underline;}
    

    文本转换

    文本转换属性是用来指定在一个文本中的大写和小写字母。
    可用于所有字句变成大写或小写字母,或每个单词的首字母大写。

    p.uppercase {text-transform:uppercase;}
    p.lowercase {text-transform:lowercase;}
    p.capitalize {text-transform:capitalize;}
    

    文本缩进

    p{text-indent:50px}
    

    字体

    字体样式

    主要是用于指定斜体文字的字体样式属性。
    这个属性有三个值:
    正常 - 正常显示文本
    斜体 - 以斜体字显示的文字
    倾斜的文字 - 文字向一边倾斜(和斜体非常类似,但不太支持)

    p.normal {font-style:normal;}
    p.italic {font-style:italic;}
    p.oblique {font-style:oblique;}
    

    用em来设置字体大小

    为了避免Internet Explorer 中无法调整文本的问题,许多开发者使用 em 单位代替像素。
    em的尺寸单位由W3C建议。
    1em和当前字体大小相等。在浏览器中默认的文字大小是16px。
    因此,1em的默认大小是16px。可以通过下面这个公式将像素转换为em:px/16=em,如果使用 em 单位,则可以在所有浏览器中调整文本大小。
    不幸的是,仍然是IE浏览器的问题。调整文本的大小时,会比正常的尺寸更大或更小。

    链接

    链接样式
    链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。
    特别的链接,可以有不同的样式,这取决于他们是什么状态。
    这四个链接状态是:
    a:link - 正常,未访问过的链接
    a:visited - 用户已访问过的链接
    a:hover - 当用户鼠标放在链接上时
    a:active - 链接被点击的那一刻
    当设置为若干链路状态的样式,也有一些顺序规则:a:hover 必须跟在 a:link 和 a:visited后面,a:active 必须跟在 a:hover后面

    列表

    list-style-type属性指定列表项标记的类型是:circle;square;upper_roman;lower_alpha

    表格

    折叠边框

    border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开:

    盒子模型

    Margin(外边距) - 清除边框外的区域,外边距是透明的。
    Border(边框) - 围绕在内边距和内容外的边框。
    Padding(内边距) - 清除内容周围的区域,内边距是透明的。
    Content(内容) - 盒子的内容,显示文本和图像。
    最终元素的总宽度计算公式是这样的:
    总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
    元素的总高度最终计算公式是这样的:
    总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

    边框

    border-style属性值:none;dash;dotted;soild;double;groove;ridge;inset;outset

    display(显示)和visibility(可视化)

    隐藏元素 - display:none或visibility:hidden

    隐藏一个元素可以通过把display属性设置为"none",或把visibility属性设置为"hidden"。但是请注意,这两种方法会产生不同的结果。
    visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
    下面的示例把列表项显示为内联元素:

    li{display:inline;}
    

    下面的示例把span元素作为块元素:

    span{display:block;}
    

    position(定位)

    position 属性指定了元素的定位类型。
    position 属性的五个值:
    static HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。
    relative 相对定位元素的定位是相对其正常位置。
    fixed 元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动。Fixed定位使元素的位置与文档流无关,因此不占据空间。Fixed定位的元素和其他元素重叠。
    absolute 绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:
    sticky sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。
    position: sticky; 基于用户的滚动位置来定位。
    粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。
    它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。
    元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。
    这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。
    元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非是先设定position属性。他们也有不同的工作方式,这取决于定位方法。

    重叠的元素

    元素的定位与文档流无关,所以它们可以覆盖页面上的其它元素
    z-index属性指定了一个元素的堆叠顺序(哪个元素应该放在前面,或后面)
    一个元素可以有正数或负数的堆叠顺序:

    相关文章

      网友评论

          本文标题:CSS

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