2024-08-17

CSS (级联样式表) 是一种用来描述网页和其他HTML文件样式的语言。以下是关于CSS的一些主要概念:

  1. CSS的引入方式:

    • 内联样式:直接在HTML元素的style属性中添加CSS代码。
    • 内部样式表:在HTML文档的<head>标签中添加<style>标签,并在其中编写CSS代码。
    • 外部样式表:创建一个单独的CSS文件,并通过HTML文档的<link>标签引入。



<!-- 内联样式 -->
<p style="color: red;">This is a paragraph.</p>
 
<!-- 内部样式表 -->
<head>
  <style>
    p { color: red; }
  </style>
</head>
 
<!-- 外部样式表 -->
<head>
  <link rel="stylesheet" type="text/css" href="styles.css">
</head>
  1. CSS选择器:

    • 标签选择器:直接使用HTML标签作为选择器。
    • 类选择器:在HTML元素的class属性中指定一个或多个类名,并在CSS中以"."开头定义。
    • ID选择器:在HTML元素的id属性中指定一个ID名,并在CSS中以"#"开头定义。
    • 伪类选择器:用于向某些选择器添加特殊的效果,如:hover和:active。



/* 标签选择器 */
p { color: red; }
 
/* 类选择器 */
.center { text-align: center; }
 
/* ID选择器 */
#logo { width: 200px; }
 
/* 伪类选择器 */
a:hover { color: blue; }
  1. CSS常用元素属性:

    • color:文本颜色。
    • background-color:背景颜色。
    • font-size:字体大小。
    • border:边框。
    • padding:内边距。
    • margin:外边距。



/* 文本颜色 */
p { color: red; }
 
/* 背景颜色 */
div { background-color: blue; }
 
/* 字体大小 */
h1 { font-size: 24px; }
 
/* 边框 */
table { border: 1px solid black; }
 
/* 内边距 */
div { padding: 10px; }
 
/* 外边距 */
body { margin: 0; }
  1. CSS盒模型:

    • content box:内容区域,用于存放文本和图像等元素。
    • padding box:内边距区域,扩展了内容区域的尺寸,有padding属性控制。
    • border box:边框区域,围绕内边距区域,由border属性定义。
    • margin box:外边距区域,最外层的区域,由margin属性定义。



/* 设置元素的宽度和高度 */
div {
  width: 300px;
  height: 200px;
  padding: 10px;
  border: 5px solid black;
  margin: 20px;
}
  1. CSS弹性布局:

    • 使用display属性的flex值可以创建一个弹性容器。
    • 使用flex-direction控制项目的方向。
    • 使用justify-content控制项目在主轴上的对齐方式。
    • 使用align-items控制项目在交叉轴上的对齐方式。



/* 创建弹性容器 */
.container {
  display: flex;
  flex-direction: row; /* 主轴方向 */
  justify-content: center; /* 主轴对齐 */
2024-08-17

在CSS中,我们可以使用不同的单位来指定尺寸和位置。以下是一些常用的单位:

  1. 像素(px):像素是Web开发中最常用的单位。
  2. 百分比(%):可以用来指定相对于其父元素的大小。
  3. em:相对于当前元素的字体大小。如果用于设置字体大小,则相对于父元素的字体大小。
  4. rem:相对于根元素(html)的字体大小,使得字体大小可以在全局范围内统一设置。
  5. vh和vw:分别相对于视口的高度和宽度,1vh等于视口高度的1%,1vw等于视口宽度的1%。
  6. cm、mm、in等:这些是绝对长度单位,主要用于打印媒体。

CSS中的伪类和伪元素可以用来添加特殊的样式,例如::hover、:focus、:first-child、::before和::after等。

CSS中的布局方式有:

  1. 浮动(float):元素会移动到其父容器的左边或右边,或浮动到文字的上方。
  2. 绝对定位(position: absolute):元素将相对于其最近的已定位的祖先元素定位。
  3. 相对定位(position: relative):元素相对于其正常位置进行定位。
  4. 固定定位(position: fixed):元素相对于视口进行定位,而不受滚动条的影响。
  5. 表格布局(display: table):通过设置display: table、display: table-row和display: table-cell可以模拟表格布局。
  6. Flexbox布局:通过设置display: flex可以使用弹性盒模型进行布局。
  7. Grid布局:通过设置display: grid可以使用网格布局系统进行布局。

CSS中的盒模型包括标准盒模型和IE盒模型。标准盒模型的宽度和高度只包括内容区域,而边框和内边距要在此基础上增加。

CSS中的特殊属性如opacity和visibility可以用来控制元素的透明度和可见性。

CSS中的z-index属性用于控制元素的堆叠顺序。

CSS中的cursor属性可以用来设置鼠标指针移动到元素上时的样式。

CSS中的@import规则可以用来导入其他CSS文件。

CSS中的@media规则可以根据不同的媒体类型和条件来应用不同的样式。

CSS中的transition和animation属性可以用来创建动画效果。

CSS中的box-shadow和text-shadow属性可以用来添加阴影效果。

CSS中的border-radius属性可以用来制作圆角边框。

CSS中的user-select属性可以控制元素文本的可选中性。

CSS中的filter属性可以应用各种图像效果,如模糊、饱和度调整等。

CSS中的flex-grow、flex-shrink和flex-basis属性用于Flexbox布局中的项目。

CSS中的grid-row、grid-column和grid-area属性用于Grid布局中的项目。

CSS中的justify-content和align-items属性用于Flexbox布局中的容器。

CSS中的place-items属性是justify-items和align-items的简写。

CSS中的all属性可以将样式应用于所有属性。

CSS中的inherit关键字可以使元素继承其父元素的属性值。

CSS中的min-width、min-height、

2024-08-17

CSS Grid 是一种强大的布局系统,可以帮助开发者创建复杂的响应式网页设计。以下是一个简单的例子,展示如何使用 CSS Grid 来创建一个基本的布局:




<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Layout Example</title>
<style>
  .grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
    grid-gap: 10px; /* gap between items */
    padding: 10px; /* container padding */
  }
  .grid-item {
    background-color: #f0f0f0; /* item background color */
    border: 1px solid #ccc; /* item border */
    padding: 20px; /* item padding */
    text-align: center; /* text alignment */
  }
 
  /* Media query for tablets and smaller devices */
  @media (max-width: 768px) {
    .grid-container {
      grid-template-columns: repeat(2, 1fr); /* 2 columns */
    }
  }
 
  /* Media query for phones and smaller devices */
  @media (max-width: 480px) {
    .grid-container {
      grid-template-columns: 1fr; /* 1 column */
    }
  }
</style>
</head>
<body>
 
<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>
</div>
 
</body>
</html>

这个例子中,.grid-container 类定义了一个网格容器,其中的 grid-template-columns 属性设置了三个等宽的列。CSS 媒体查询(media queries)用于根据屏幕宽度调整列的数量,实现响应式设计。当屏幕宽度小于768像素时,列数变为两列,而当屏幕宽度小于480像素时,网格整体呈现为一列。这样,开发者可以通过调整网格的列数和大小,来创建适应不同屏幕尺寸的布局。

2024-08-17

CSS (Cascading Style Sheets) 是用来定义网页样式的计算机语言,可以使网页元素如文本,图片,布局等更加美观。

  1. CSS的引入方式:

    • 内联样式:通过标签的style属性为其添加样式。
    
    
    
    <p style="color: red;">这是一个段落。</p>
    • 内部样式表:在HTML文档的<head>标签中添加<style>标签,然后在其中添加CSS规则。
    
    
    
    <head>
      <style>
        p { color: blue; }
      </style>
    </head>
    <body>
      <p>这是一个段落。</p>
    </body>
    • 外部样式表:创建一个CSS文件,然后在HTML文档的<head>标签中添加<link>标签,引用该CSS文件。
    
    
    
    <!-- 创建一个style.css文件,内容如下 -->
    p { color: green; }
     
    <!-- 在HTML文件中引用 -->
    <head>
      <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>
      <p>这是一个段落。</p>
    </body>
  2. CSS的基本语法:

    
    
    
    selector {
      property: value;
      property: value;
      ...
    }
    • selector:选择器,用于选择需要添加样式的HTML元素。
    • property:属性,表示要改变的样式属性。
    • value:值,表示属性的值。
  3. CSS的选择器:

    • 标签选择器:直接使用HTML标签作为选择器。
    
    
    
    p { color: red; }
    • 类选择器:在HTML元素上添加class属性,然后在CSS中使用.前缀。
    
    
    
    <p class="para">这是一个段落。</p>
    
    
    
    .para { color: orange; }
    • ID选择器:在HTML元素上添加id属性,然后在CSS中使用#前缀。
    
    
    
    <p id="paraId">这是一个段落。</p>
    
    
    
    #paraId { color: purple; }
    • 组选择器:使用,分隔多个选择器,可以同时选择多个元素。
    
    
    
    h1, h2, h3 { color: grey; }
    • 嵌套选择器:可以在选择器之间添加空格,表示后代选择器,即选择特定父元素的子元素。
    
    
    
    div p { color: pink; }
  4. CSS的属性:

    • 文本属性:color, text-align, text-decoration, ...
    • 背景属性:background-color, background-image, ...
    • 列表属性:list-style, ...
    • 布局属性:width, height, margin, padding, float, position, ...
    • 边框属性:border, ...
    • 字体属性:font-size, font-family, font-weight, ...
    • 透明度属性:opacity, ...
  5. CSS的优先级:

    • 内联样式 > 内部样式表和外部样式表。
    • 具体性选择器:ID选择器 > 类选择器 > 标签选择器。
    • 当选择器相同时,最后声明的样式会被应用。
    • 可以使用!important
2024-08-17



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        /* 将CSS放在<head>中以避免阻塞渲染 */
        body {
            background-color: #f3f3f3;
        }
        .content {
            width: 600px;
            margin: 20px auto;
            background-color: #fff;
            padding: 30px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
    </style>
</head>
<body>
    <div class="content">
        <!-- 页面内容 -->
    </div>
    <!-- 将JS放在<body>结束标签前以减少阻塞 -->
    <script src="main.js"></script>
</body>
</html>

这个例子展示了如何优化HTML文档以减少CSS、JavaScript和DOM解析对渲染的影响。通过将CSS放在文档的<head>中,并将JavaScript代码放置在文档的<body>标签的末尾,可以减少页面首次渲染的阻塞。这样做可以改善用户体验,提升页面加载性能。

2024-08-17

CSS简介:

CSS (Cascading Style Sheets) 是用来样式定义,布局,和在网页中的文本,图片,音频,视频等元素的显示。CSS 可以使你的网页更加美观,并且可以在不改变内容的情况下改变网页的外观。

CSS 语法:

CSS 规则由两个主要的部分构成:选择器和声明。每个声明包含一个属性和一个值,属性(property)是你想要改变的样式属性,每个属性由一个值所定义。




/* 选择器 { 属性: 值; } */
p { color: red; }

CSS 注释:




/* 这是一个 CSS 注释 */

CSS 的一些基本语法规则:

  • 每条声明由一个属性和一个值组成,以分号结束。
  • 可以将多个相同样式的选择器合并为一个,以逗号分隔。
  • 可以使用十六进制、RGB、RGBA、HSL、HSLA 等多种方式来表示颜色值。
  • 可以使用像素或其他单位来表示尺寸。
  • 可以使用百分比或其他单位来表示位置。
  • 可以使用关键词、URL 或其他方式来表示背景图片。

CSS 的优点:

  • 内容与表现分离,使得工作更加容易管理。
  • 提高页面加载速度,因为CSS文件可以进行缓存。
  • 使用CSS可以很容易地实现响应式设计。
  • 有很多预处理器如Sass、Less等,可以使CSS代码更加简洁和结构化。
2024-08-17

在Selenium中,CSS选择器是一种强大的工具,可以用来定位Web页面上的元素。以下是使用CSS选择器定位元素的示例代码:




from selenium import webdriver
 
# 启动浏览器驱动
driver = webdriver.Chrome()
 
# 打开网页
driver.get("http://example.com")
 
# 使用CSS选择器定位元素
element = driver.find_element_by_css_selector('input[type="submit"]')
 
# 与定位的元素进行交互,例如点击
element.click()
 
# 关闭浏览器驱动
driver.quit()

在这个例子中,我们使用了一个CSS选择器定位了一个提交按钮。input[type="submit"]是CSS选择器,它选择所有type属性为submit<input>元素。然后我们使用find_element_by_css_selector方法来找到这个元素,并对它进行点击操作。

2024-08-17



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gaming Tools Showcase</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <header>
        <img src="logo.png" alt="Gaming Tools Showcase">
        <nav>
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">Games</a></li>
                <li><a href="#">Tools</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </nav>
    </header>
    <main id="games">
        <!-- Game cards go here -->
    </main>
    <script src="script.js"></script>
</body>
</html>

HTML 结构定义了一个包含公司 Logo 和导航链接的头部(header),以及用于显示游戏卡片的主体(main)部分。CSS 和 JS 文件将定义页面的样式和交互功能。在实际的页面中,你需要自己实现 CSS 和 JS 来填充卡片内容和实现过滤逻辑。

2024-08-17

在CSS中,我们可以使用不同的技术和设计原则来创建高级设计。以下是一些常见的CSS进阶技术和设计原则的示例:

  1. 响应式设计:使用媒体查询来创建可以根据屏幕大小调整的网页。



@media screen and (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}
  1. 网格布局:使用CSS Grid创建复杂的布局。



.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
}
  1. 浮动布局:使用Flexbox创建灵活的布局。



.container {
  display: flex;
  justify-content: center;
  align-items: center;
}
  1. 动画:使用CSS动画为设计增加生命。



@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}
 
@-webkit-keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}
 
.example {
  animation-name: example;
  animation-duration: 4s;
}
  1. 深度选择器:使用后代选择器来选择特定元素的子元素。



div p {
  color: red;
}
  1. 伪类:使用伪类来改变元素的状态,如:hover。



a:hover {
  color: hotpink;
}
  1. 伪元素:使用伪元素来更改文本的一部分样式。



p::first-letter {
  font-size: 200%;
}
  1. 字体图标:使用字体图标库(如FontAwesome)来替代传统的图片形式的图标。



<i class="fa fa-star"></i>
  1. 阴影和阴影: 使用CSS的阴影效果增加深度和层次感。



div {
  box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
}
  1. 混合模式:使用混合模式为图片添加特殊效果。



img {
  mix-blend-mode: multiply;
}

这些CSS技术和设计原则可以应用于创建复杂和高级的网页设计。在实践中,你可以根据具体项目的需求来选择和组合这些技术。

2024-08-17

CSS三大特性分别是盒模型、浮动(float)和定位(position)。

  1. 盒模型(Box Model):

    CSS盒模型由四个部分组成:margin(外边距)、border(边框)、padding(内边距)和content(内容)。




div {
  width: 300px;
  height: 200px;
  padding: 20px;
  border: 5px solid blue;
  margin: 10px;
}
  1. 浮动(Float):

    浮动可以使元素向左或向右移动,直到它的外边缘碰到包含框或另一个浮动元素的边框为止。




.float-left {
  float: left;
}
 
.float-right {
  float: right;
}
  1. 定位(Position):

    定位可以使元素的位置相对于其正常位置、父元素或浏览器窗口来指定。




.relative-position {
  position: relative;
  top: 20px;
  left: 40px;
}
 
.absolute-position {
  position: absolute;
  top: 50px;
  right: 30px;
}
 
.fixed-position {
  position: fixed;
  bottom: 0;
  left: 0;
}

CSS三大特性是CSS布局的基础,熟练掌握有助于更好地进行网页布局设计。