文章目录
颜色取值
选择器进阶
复合选择器
并集选择器(union selector)
交集选择器(intersection selector)
emmet语法
hover伪类选择器
背景相关
背景颜色
背景图片
背景平铺
图片位置
背景相关连写
img标签与背景图片的区别
元素显示模式
居中方法总结
CSS三大特性
权重叠加计算
盒子模型
border 相关属性
padding
盒子实际大小计算公式
新浪导航案例
CSS3盒模型(自动内减)——怪异盒模型
margin
清除内外边距
外边距的折叠现象
行内元素的margin和padding无效情况
颜色取值
属性名
文字颜色:color
背景颜色:background-color
属性值
关键词
rgb表示法
红绿蓝三原色。每项取值范围:0-255
rgb(0,0,0)、rgb(255,255,255)
rgba表示法
红绿蓝三原色+a表示透明度,取值范围是0-1(0表示完全透明,1表示完全不透明)
rgb(255,255,255,0.5) 简写rgb(255,255,255,.5)
十六进制表示法
#开头,将数字转换成十六进制表示
#000000、#ff0000 简写#000、#f00
选择器进阶
复合选择器
后代选择器:空格
具体的说:后代选择器用于选择某个元素的所有后代元素(包括直接子元素和非直接子元素)。后代选择器使用空格(
)来分隔祖先元素和后代元素。例如:
div p {
color : red;
}
在这个例子中,所有元素内部的
元素,无论是直接还是间接子元素,都将应用红色字体。
子代选择器
具体的说:子代选择器只能选择某个元素的直接子元素。子代选择器使用大于号(>
)来分隔父元素和子元素。例如:
div > p {
color : blue;
}
在这个例子中,只有元素的直接子元素
才会应用蓝色字体,而
的间接子元素(即
嵌套在其他元素内部的情况)将不会受到影响。
总结一下:
后代选择器(descendant selector)是用空格(
)分隔的,它选择指定元素的所有后代元素。
子代选择器(child selector)是用大于号(>
)分隔的,它仅选择指定元素的直接子元素。
并集选择器(union selector)
作用:选择页面中同时满足 多个选择器的标签
选择器语法:选择器1,选择器2 { css }
结果:
(既又原则)找到页面中 既 能被选择器1选中,又 能被选择器2选中的标签,设置样式
注意点:
交集选择器中的选择器之间是紧挨着的,没有东西分隔
交集选择器中如果有标签选择器,标签选择器必须写在最前面
h1, h2, p {
color: green;
}
在这个例子中,我们选择了
、
和
元素,并将它们的字体颜色设置为绿色。并集选择器实际上表示“或”的关系,即选择器 A 或选择器 B 或选择器 C,等等。
交集选择器(intersection selector)
作用:选中页面中 同时满足 多个选择器的标
选择器语法:选择器1选择器2 { css }
结果:
(既又原则)找到页面中 既 能被选择器1选中,又 能被选择器2选中的标签,设置样式
注意点:
交集选择器中的选择器之间是紧挨着的,没有东西分隔
交集选择器中如果有标签选择器,标签选择器必须写在最前面
具体的说:
交集选择器用于选择同时满足多个条件的元素。交集选择器通过将多个选择器紧密相连而不使用空格或其他符号来实现。例如:
p.highlight {
color: orange;
}
在这个例子中,我们选择了同时具有
标签和highlight
类的元素,并将它们的字体颜色设置为橙色。交集选择器实际上表示“且”的关系,即选择器 A 且选择器 B。
emmet语法
作用:通过简写语法,快速生成代码
标签名:直接输入标签名,如 div
、p
、ul
等。
类选择器:使用.
表示类名。例如,.container
会生成
。
ID 选择器:使用#
表示 ID。例如,#header
会生成
。
交集选择器:将标签名、类名和/或 ID 选择器紧密相连。例如,p.highlight
会生成
。
子代选择器:使用>
表示父子关系。例如,div>p
会生成:
内部文本:使用{}
包裹文本。例如,p{Hello, world!}
会生成 Hello, world!
。
创建多个标签:使用*
表示重复次数。例如,li*3
会生成:
hover伪类选择器
:hover
伪类选择器是 CSS 中一种常用的伪类选择器,它用于选择鼠标悬停在元素上时的元素样式 。当用户将鼠标悬停在元素上时,:hover
选择器会应用指定的样式,当鼠标离开时,样式恢复为原始状态。:hover
伪类选择器常用于为链接、按钮和其他交互元素添加悬停效果。
以下是一个简单的使用 :hover
伪类选择器的例子:
a {
color: blue;
text-decoration: none;
}
a:hover {
color: red;
text-decoration: underline;
}
在这个例子中,我们为所有的
元素定义了默认样式(蓝色文本,无下划线)。当用户将鼠标悬停在
元素上时,文本颜色会变为红色,并显示下划线。当鼠标离开时,样式将恢复为原始状态。
:hover
伪类选择器不仅可以应用于
元素,还可以应用于任何其他 HTML 元素,如 、
或
等。
背景相关
背景颜色
属性名:background-color(bgc)
属性值:
颜色取值:关键字、rgb表示法、rgba表示法、十六进制…
注意点:
背景颜色默认值是透明: rgba(0,0,0,0),transparent
背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色
div {
background-color: rgba(255, 153, 0, 0.5); /* 半透明橙色 */
}
背景图片
属性名:background-image(bgi)
注意点:
背景图片中url中可以省略引号
背景图片默认是在水平和垂直方向平铺的
背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色,是不能撑开盒子的
div {
background-image : url ( "example.jpg" ) ;
}
背景平铺
background-repeat
属性用于控制背景图片的平铺方式。可选值有:
repeat
:默认值,水平和垂直方向都平铺。
repeat-x
:仅在水平方向平铺。
repeat-y
:仅在垂直方向平铺。
no-repeat
:不平铺。
div {
background-image: url("example.jpg");
background-repeat: no-repeat;
}
图片位置
background-position(bgp)
background-position
属性可以让您更精确地控制背景图片的位置。例如,如果您希望将图片定位在元素的右上角,可以使用以下设置:
div {
background-image: url("example.jpg");
background-repeat: no-repeat;
background-position: right top;
}
此外,background-position
属性还支持使用两个关键字(如 left 20px top 10px
)或两个百分比值(如 25% 75%
)来设置背景图片的位置。
方位名词取值和坐标取值可以混使用,第一个取值表示水平,第二个取值表示垂直
背景相关连写
书写顺序:
推荐:background:color image repeat position
省略问题:
可以按照需求省略
特殊情况:在pc端,如果盒子大小和背景图片大小一样,此时可以直接写 background:url()
例如,创建一个具有半透明颜色、线性渐变背景、不重复显示且位于右上角的背景样式:
div {
background: rgba(255, 153, 0, 0.5) linear-gradient(to bottom right, red, yellow, green) no-repeat right top;
}
img标签与背景图片的区别
这两者之间的主要区别在于用途和样式控制:
用途:
标签:用于插入内容图片,即图片作为网页内容的一部分,具有实际意义。
背景图片:用于设置页面的装饰和设计元素,作为页面布局和样式的一部分,不具有实际意义。
样式控制:
标签:可以通过 HTML 和 CSS 控制其尺寸、位置和其他样式,但某些特性(如裁剪、平铺等)可能需要额外的方法。
背景图片:通过 CSS 设置,提供了更丰富的控制和样式选项(如位置、平铺方式、大小等),更易于实现设计效果。
总之,根据图片的实际用途,可以选择使用
标签或背景图片。如果图片是页面内容的一部分,具有实际意义,建议使用
标签;如果图片仅作为页面的装饰元素,可以使用背景图片。
元素显示模式
块级元素
属性值:display: block
块级元素在页面上独占一行,宽度默认填充其父容器,高度由内容决定。常见的块级元素有:、
~
、
、
、
等。块级元素具有以下特点:
自动换行,每个块级元素占据新的一行。
默认宽度为父容器的100%。
可以设置宽度和高度。
可以应用外边距(margin)和内边距(padding)。
行内元素
属性:display:inline
行内元素不会独占一行,宽度和高度由内容决定。常见的行内元素有:
、
、
、
等。行内元素具有以下特点:
不换行,多个行内元素在同一行显示,直到排列空间不足时自动换行。
不能设置宽度和高度,宽度和高度由内容撑开。
上下外边距(margin)不生效,左右外边距生效。
上下内边距(padding)不会影响其他元素的位置。
行内块元素
属性:display:inline-block
行内块元素是块级元素和行内元素的结合体。它可以在同一行内显示,同时保留块级元素的特性(如设置宽度和高度)。常见的行内块元素有:
、
、input
、textarea
等。行内块元素具有以下特点:
不换行,多个行内块元素在同一行显示,直到排列空间不足时自动换行。
可以设置宽度和高度。
可以应用外边距(margin)和内边距(padding)。
元素显示模式转换
在CSS中,可以通过display
属性来改变元素的显示模式。这使得我们可以根据需要调整元素的布局和样式表现。
将行内元素(inline)转换为块级元素(block):
span {
display: block;
}
这会使
元素具有块级元素的特性,如独占一行,可以设置宽度和高度等。
将块级元素(block)转换为行内元素(inline):
div {
display: inline;
}
这会使元素具有行内元素的特性,如不换行,宽度和高度由内容决定等。
将行内元素(inline)或块级元素(block)转换为行内块元素(inline-block):
span {
display : inline-block;
}
这会使
元素具有行内块元素的特性,如不换行,可以设置宽度和高度等。
居中方法总结
文本居中(水平居中):适用于文本元素(如
、
至
、
等)及文本容器(如、
等)。
.text-center {
text-align: center;
}
块级元素水平居中(使用外边距):适用于块级元素(如、
、
等)。
.block-center {
margin-left: auto;
margin-right: auto;
}
行内元素和行内块元素水平居中(使用文本对齐):适用于行内元素(如
、
、
等)和行内块元素(如
)。
.parent {
text-align: center;
}
使用Flexbox布局实现水平和垂直居中:适用于任何类型的子元素,例如、
、
等。需要注意的是,要将
display: flex;
应用于父元素,而不是需要居中的子元素。
.flex-center {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
}
使用Grid布局实现水平和垂直居中:适用于任何类型的子元素,例如、
、
等。需要注意的是,要将
display: grid;
应用于父元素,而不是需要居中的子元素。
.grid-center {
display: grid;
place-items: center; /* 水平和垂直居中 */
}
使用绝对定位和transform实现水平和垂直居中:适用于任何类型的元素,例如、
、
等。需要注意的是,要将
position: relative;
应用于父元素,而将
position: absolute;
和
transform: translate(-50%, -50%);
应用于需要居中的子元素。
.relative-parent {
position: relative;
}
.absolute-center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
CSS三大特性
继承性: 继承性是指子元素可以继承父元素的某些样式属性。这种特性可以减少代码的冗余,使得样式表更加简洁。但并非所有CSS属性都具有继承性,例如border
、margin
和padding
等。具有继承性的属性主要包括文本相关的属性,如font-family
、color
、font-size
等。
层叠性: 层叠性是指当多个CSS样式规则应用于同一个元素时,它们会按照一定的优先级进行叠加,最终生成一个综合样式。层叠性可以让我们更灵活地定义和组合样式规则。CSS中的“层叠”一词源于英文"Cascading",因此称为“层叠样式表”。
优先级: 优先级是指在CSS中,不同的选择器和样式规则具有不同的权重。当一个元素同时受到多个规则的影响时,优先级较高的规则会覆盖优先级较低的规则。优先级主要由以下因素决定:
内联样式(在HTML元素上使用style
属性)优先级最高。
选择器权重:ID选择器(如#id
) > 类选择器(如.class
)、属性选择器(如[type="text"]
)和伪类(如:hover
) > 标签选择器(如div
)和伪元素(如::before
)。
当权重相同时,后声明的样式会覆盖先声明的样式。
使用!important
声明的样式具有最高优先级,但应谨慎使用,以免导致维护困难。
继承失败的特殊情况:
优先级高的特定样式:当为一个元素设置了具有更高优先级的特定样式时,该样式将覆盖继承而来的样式。例如,如果为一个子元素显式设置了color
属性,那么该元素将使用指定的颜色,而不是从父元素继承的颜色。
不可继承的属性:并非所有CSS属性都具有继承性。例如,margin
、padding
、background
、border
等属性不会被子元素继承。对于这些属性,如果需要应用相同的样式,需要显式地为相应的子元素设置样式。
初始值和继承:对于某些属性,如果没有显式设置值,则会使用默认的初始值,而不是继承父元素的值。例如,border
属性的初始值是none
。因此,如果没有为一个元素设置border
属性,它将不会显示任何边框,即使其父元素有边框。
表单元素:某些表单元素(如
、
和
)可能不会按照预期继承样式。这是因为这些元素的渲染受到操作系统和浏览器的影响。为了确保这些元素的样式与其他页面元素保持一致,需要显式地为它们设置样式。
伪元素:伪元素(如::before
和::after
)不会继承大部分父元素的样式。需要为伪元素单独设置样式,以实现预期的效果。
权重叠加计算
CSS权重叠加计算是用于确定哪些样式规则应用于特定的HTML元素的方法。当多个CSS规则与同一个元素匹配时,权重叠加计算用于解决这些规则之间的冲突。CSS权重叠加遵循以下规则:
重要性(!important):标记为!important的声明具有更高的优先级。如果一个声明被标记为!important,它将优先于其他未标记的声明。
选择器的特异性:特异性是一个表示选择器优先级的四元组(a, b, c, d),其中:
a: 内联样式的数量
b: ID选择器的数量
c: 类选择器、属性选择器和伪类的数量
d: 元素选择器和伪元素的数量 选择器的特异性按以下顺序进行比较:a > b > c > d。值较高的选择器具有更高的优先级。
源代码中的顺序:如果两个规则的重要性和特异性相同,那么在源代码中后出现的规则具有更高的优先级。
/* 特异性 (0, 1, 0, 0) */
#myid {
color: green;
}
/* 特异性 (0, 0, 1, 0) */
.class1 {
color: blue !important;
}
/* 特异性 (0, 0, 1, 0) */
.class2 {
color: red;
}
如果一个HTML元素同时具有myid、class1和class2的ID和类属性,那么权重叠加计算将按以下顺序应用样式规则:
.class1
的!important声明(最高优先级)
#myid
的ID选择器(特异性较高)
.class2
的类选择器(较低优先级)
因此,最终该元素的颜色将是蓝色。
当CSS权重叠加(即优先级)完全相同时,浏览器会根据源代码中规则的顺序来决定显示哪个样式。在源代码中后出现的规则将具有更高的优先级,因此会覆盖之前的规则。
盒子模型
盒子模型(Box Model)是CSS布局的基本概念,它描述了元素在页面上如何布局和渲染。在CSS中,每个元素都被视为一个矩形盒子,这个盒子由以下四个部分组成:
内容(Content) :这是元素的实际内容,如文本、图片等。内容区域的尺寸可以通过width
和height
属性来设置。
内边距(Padding) :这是内容区域周围的空白区域,位于内容和边框之间。内边距是透明的,可以通过padding
属性(或其相关属性padding-top
、padding-right
、padding-bottom
、padding-left
)来设置。
边框(Border) :这是围绕内边距和内容的线条,可以设置其样式、宽度和颜色。边框的样式可以通过border
属性(或其相关属性border-width
、border-style
、border-color
)来设置。
外边距(Margin) :这是元素盒子外部的空白区域,用于与其他元素之间保持距离。外边距是透明的,可以通过margin
属性(或其相关属性margin-top
、margin-right
、margin-bottom
、margin-left
)来设置。
总的来说,盒子模型定义了一个元素在页面上所占用的空间,包括内容、内边距、边框和外边距。了解盒子模型对于实现精确的布局和对齐是至关重要的。需要注意的是,有两种盒子模型计算方法:
标准盒子模型(box-sizing: content-box
):元素的width
和height
仅包括 内容区域 ,不包括内边距、边框和外边距。
怪异盒子模型(box-sizing: border-box
):元素的width
和height
包括内容区域、内边距和边框,但不包括外边距。
在实际应用中,box-sizing: border-box
更为常用,因为它使得布局和尺寸计算更加直观。要设置所有元素的盒子模型为border-box
,可以使用以下全局CSS规则:
* {
box-sizing: border-box;
}
border 相关属性
border
属性在CSS中用于设置元素的边框。边框位于元素的内容和内边距之外,可以设置其样式、宽度和颜色。以下是与border
相关的一些属性及其用法:
**border-width
:**用于设置边框的宽度。可以为一个值(如1px
)、两个值(例如2px 4px
,分别表示上下边框和左右边框的宽度)、三个值(例如2px 4px 6px
,分别表示上边框、左右边框和下边框的宽度)或四个值(例如1px 2px 3px 4px
,分别表示上、右、下、左边框的宽度)。
**border-style
:**用于设置边框的样式。可选值包括:none
(无边框)、solid
(实线边框)、dotted
(点状边框)、dashed
(虚线边框)、double
(双线边框)、groove
(凹槽边框)、ridge
(脊状边框)、inset
(内嵌边框)和outset
(外凸边框)。与border-width
类似,你可以设置一个值(应用于四个边)、两个值(上下边框和左右边框)、三个值(上边框、左右边框和下边框)或四个值(上、右、下、左边框)。
**border-color
:**用于设置边框的颜色。可以使用颜色名称(如red
)、十六进制(如#FF0000
)、RGB(如rgb(255, 0, 0)
)或HSL(如hsl(0, 100%, 50%)
)等表示法。与border-width
和border-style
类似,你可以设置一个值(应用于四个边)、两个值(上下边框和左右边框)、三个值(上边框、左右边框和下边框)或四个值(上、右、下、左边框)。
border
:这是一个简写属性,用于同时设置border-width
、border-style
和border-color
。这个属性的值按以下顺序书写:宽度、样式、颜色。
分别设置每个边框:你还可以使用border-top
、border-right
、border-bottom
和border-left
属性分别设置每个边框的宽度、样式和颜色。这些属性也是简写属性,它们的值顺序为:宽度、样式、颜色。
border-top: 1px solid red;
border-right: 2px dashed blue;
border-bottom: 3px dotted green;
border-left: 4px double purple;
此外,你还可以使用以下属性来分别设置每个边框的宽度、样式和颜色:
border-top-width
、border-right-width
、border-bottom-width
和border-left-width
border-top-style
、border-right-style
、border-bottom-style
和border-left-style
border-top-color
、border-right-color
、border-bottom-color
和border-left-color
padding
padding
是CSS中的一个属性,它用于设置元素内边距,即元素内容与边框之间的空白区域。padding
可以为元素提供一定的空间,使得内容与边框、其他元素之间保持一定的距离。
设置单个方向的内边距 :可以分别设置元素四个方向(上、右、下、左)的内边距,使用以下属性:
padding-top
: 设置元素上方的内边距
padding-right
: 设置元素右侧的内边距
padding-bottom
: 设置元素下方的内边距
padding-left
: 设置元素左侧的内边距
使用简写属性 :padding
属性是一个简写属性,可以一次性设置元素所有方向的内边距。有以下几种用法:
padding: 10px;
padding: 10px 20px;
padding: 10px 20px 15px 25px;
内边距不会影响元素之间的距离,而是用于控制元素内部的空间 。注意,当使用标准盒子模型(box-sizing: content-box
)时,内边距会增加元素的总尺寸。而使用怪异盒子模型(box-sizing: border-box
)时,内边距不会影响元素的总尺寸。
盒子实际大小计算公式
标准盒子模型(box-sizing: content-box
):在这种盒子模型中,元素的实际大小由内容区域、内边距(padding)和边框(border)共同决定。外边距(margin)不包括在内,因为它不影响元素本身的尺寸,而是影响元素与其他元素之间的距离。
计算公式如下:
新浪导航案例
Ø 布局顺序: 1. 从外往内,从上往下
Ø 每一个盒子的样式:
宽高
辅助的背景颜色
盒子模型的部分:border、padding、margin
其他样式:color、font-、text-、……
DOCTYPE html >
< html lang = " en" >
< head>
< meta charset = " UTF-8" >
< meta http-equiv = " X-UA-Compatible" content = " IE=edge" >
< meta name = " viewport" content = " width=device-width, initial-scale=1.0" >
< title> Document title>
< style>
* {
margin : 0;
padding : 0;
}
.box {
height : 40px;
border-top : 3px solid #ff8500;
border-bottom : 1px solid #edeef0;
}
.box a {
display : inline-block;
height : 40px;
padding : 0 20px;
color : #4c4c4c;
text-decoration : none;
text-align : center;
line-height : 40px;
font-size : 12px;
}
.box a:hover {
background-color : #edeef0;
color : #ff8400;
}
style>
head>
< body>
< div class = " box" >
< a href = " #" > 新浪导航 a> < a href = " #" > 新浪导航新浪导航 a> < a href = " #" > 新浪导航 a> < a href = " #" > 新浪导航 a>
div>
body>
html>
CSS3盒模型(自动内减)——怪异盒模型
CSS3盒模型中的box-sizing
属性用于控制盒子的计算方式。默认的盒模型是content-box
,也就是标准盒模型。在这个模型下,**元素的宽度和高度只包括内容区域,而内边距(padding)和边框(border)会叠加到元素的总尺寸上。**这可能会导致布局问题,尤其是当你需要设置固定宽度或高度的容器时。
为了解决这个问题,CSS3引入了另一种盒模型:**border-box
,即怪异盒模型或自动内减盒模型。**在这个模型下,元素的宽度和高度包括内容区域、内边距(padding)和边框(border)。当你增加内边距或边框时,内容区域的大小会自动调整以适应设定的宽度和高度,而元素的总尺寸保持不变。
margin
margin
是 CSS 中用于设置元素的外边距的属性。外边距是元素与相邻元素之间的空白区域,用于控制元素之间的间距。margin
可以为元素提供一定的间距,使得页面布局更加美观和整洁。
设置单个方向的外边距 :可以分别设置元素四个方向(上、右、下、左)的外边距,使用以下属性:
margin-top
: 设置元素上方的外边距
margin-right
: 设置元素右侧的外边距
margin-bottom
: 设置元素下方的外边距
margin-left
: 设置元素左侧的外边距
简写属性和border padding一样
外边距合并 :当两个垂直相邻的元素的上下外边距相遇时,它们会合并为一个外边距,这个外边距的大小是两者中较大的那个。这被称为外边距合并(margin collapsing)。需要注意的是,外边距合并仅在垂直方向上发生,水平方向上的外边距不会合并。
使用外边距实现居中 :如果要将一个块级元素在水平方向上居中,可以使用 margin: 0 auto;
。这将左右外边距设置为自动(auto),浏览器会自动计算左右外边距以使元素居中。需要注意的是,这种方法只适用于具有明确宽度的块级元素。示例如下:
.centered {
width: 50%;
margin: 0 auto;
}
清除内外边距
两种方法:
通配符选择器 :使用通配符选择器 *
可以选取所有元素,并将它们的内边距(padding
)和外边距(margin
)设置为 0。
* {
margin : 0;
padding : 0;
}
如下图:
外边距的折叠现象
外边距折叠(Margin collapsing)是 CSS 中一个特殊的现象,**当两个垂直相邻的元素的外边距接触时,它们会合并为一个外边距。**这个合并后的外边距的大小是两者中较大的那个外边距。需要注意的是,外边距折叠仅发生在垂直方向(上下)上,水平方向(左右)上的外边距不会折叠。
以下是一些外边距折叠的典型情况:
相邻兄弟元素 :当两个兄弟元素垂直排列时,它们之间的外边距会发生折叠。例如,一个元素的下外边距与其下方相邻兄弟元素的上外边距接触时,这两个外边距会折叠。
父子元素 :当一个元素的上外边距与其父元素的上外边距接触时(例如,父元素没有上边框、上内边距和其他内容),这两个外边距会折叠。类似地,当一个元素的下外边距与其父元素的下外边距接触时(例如,父元素没有下边框、下内边距和其他内容),这两个外边距也会折叠。
空块级元素 :如果一个块级元素没有内容、内边距和边框,那么它的上外边距和下外边距会发生折叠。
外边距折叠是 CSS 中的一种预期行为,通常不会对布局造成问题。然而,在某些情况下,如果不希望外边距折叠,可以采取以下方法:
添加内边距或边框 :给父元素添加一个非零的内边距或边框可以防止父子元素之间的外边距折叠。
使用浮动或绝对定位 :浮动元素(float: left
或 float: right
)和绝对定位元素(position: absolute
)的外边距不会发生折叠。
添加透明边框 :如果不想更改布局,可以给元素添加一个透明的边框来防止外边距折叠。
了解外边距折叠现象及其规则对于掌握 CSS 布局和间距控制非常重要。
行内元素的margin和padding无效情况
对于行内元素,垂直方向的 margin
和 padding
不会影响元素周围的其他行内元素的位置。尽管垂直方向的 margin
和 padding
可能会影响元素本身的背景和边框的大小,但它们不会导致周围的行内元素向上或向下移动,也不会影响行高。
这是因为行内元素的布局遵循特定的规则,它们是基于基线(baseline)对齐的。行内元素的上下外边距和内边距不会影响基线的位置,从而导致它们在垂直方向上的影响有限。
如果你需要在行内元素上使用垂直方向的 margin
和 padding
,可以将其 display
属性更改为 inline-block
。inline-block
元素在水平方向上像行内元素一样排列,但在垂直方向上表现为块级元素。因此,将元素的 display
属性设置为 inline-block
可以使垂直方向的 margin
和 padding
生效。
解释说明:
预期行为
“预期行为” 是指外边距折叠(Margin collapsing)是 CSS 设计者故意加入的特性,而不是一个错误或意外行为。换句话说,CSS 的开发者已经考虑到了这种情况,并且认为它是一个有用的特性。
因此,当我们说外边距折叠是 CSS 中的一种预期行为时,意味着这种行为是符合 CSS 规范的,并在开发者设计和实现 CSS 时就已经预见到了这种现象。所以,当你在使用 CSS 布局时遇到外边距折叠现象,你应该知道这是一种正常且符合设计目的的现象,而不是一个错误。
你可能感兴趣的:(web前端浅学,css,css3,html)
HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript
2401_89790869
html 课程设计 css
href=“https://y.qq.com/n/ryqq/playlist/7772849553”>好评999+英文歌!轻松解压100%播放量:2.8亿扎心情歌丨爱到最后终是空欢喜播放量:510.4万如果词不达意就把爱藏心里播放量:1645.7万深情片段:深夜我还是会想起你播放量:2663.8万href=“https://y.qq.com/n/ryqq/playlist/7537828
web前端常见的面试题总结
2401_84436095
程序员 前端
script.src=url+‘?’+data+‘callback=’+funcNamedocument.body.appendChild(script);//这里得到请求的数据,在回调函数中执行处理window[funcName]=function(data){callback(data)}}//使用jsonp(‘http:127.0.0.1:3000/api’,{},function(res)
小白WEB前端学习(五)
Sun ᥫᩣ涵
WEB前端 前端 学习
续:小白WEB前端学习(四)继续正式学习CSS(三)6.float布局!主要用于左右做图片,右文字的题目标准流标准流也叫文档流,指的是标签在页面中默认的排布规则,使⼀个元素脱离标准文档流有三种方式1.浮动2.绝对定位3.固定定位例如:块元素独占一行,行内元素可以一行显示多个。浮动作用:让块元素水平排列属性名:float属性值:left和right浮动后会脱离标准流,等于开了一个新的页面,内容在的话
【转】ASP.NET Core 实战:基于 Jwt Token 的权限控制全揭露
GoToDinner
core
【转】https://www.cnblogs.com/danvic712/p/10331976.html?tdsourcetag=s_pcqq_aiomsgASP.NETCore实战:基于JwtToken的权限控制全揭露一、前言#在涉及到后端项目的开发中,如何实现对于用户权限的管控是需要我们首先考虑的,在实际开发过程中,我们可能会运用一些已经成熟的解决方案帮助我们实现这一功能,而在Grapefru
vue项目打印网页功能-vue-print-nb
九情丶
vue.js 前端 javascript
Printtheentirepage描述:支持两种打印方式,直接打印页面HTML、打印URL简单易用,支持兼容Vue的浏览器版本在线Demo:测试DEMO地址安装:Vue2版本npminstallvue-print-nb--saveVue3版本npminstallvue3-print-nb--savev-printAPI使用方法打印整个页面:Printtheentirepage打印指定范围:Pri
服务端渲染(SSR)与客户端渲染(CSR)详解
创意锦囊
前端
1.背景与概念在早期Web时代,网页主要是静态HTML页面,用户点击链接后会刷新整个页面。随着网络与前端技术的发展,人们开始追求更好的页面性能与用户体验,尤其是在移动端和实时交互场景下,对于页面加载速度的要求不断提升。渲染是指如何将数据转换成可视化的页面输出给用户。渲染策略的不同主要体现在在哪个环节完成页面DOM结构的组装:服务端渲染(SSR,Server-SideRendering):在服务器将
mvc学习笔记
JDS_DIJ
笔记 mvc
mvc设计框架的形成最早是servlet==>缺点:生成html页面太麻烦,所以引入了jsp,jsp本质就是servletjsp==>缺点:阅读起来困难,难维护,于是引入javabean,用来专门和数据打交道;形成jsp的设计框架model1jsp+javabean==>缺点:jsp即要接受请求,又要展示数据,所以又加入servlet;专门用来接受请求;形成jsp的设计框架model2jsp+ja
微信 PC 版 4.0:新架构,新升级
创意锦囊
微信 架构
探索微信PC版4.0:新架构带来的革命性升级微信在2023年底推出了PC客户端4.0测试版,引入了全新的QT+C++原生跨平台架构。这次架构重构标志着微信在桌面端从传统的WebView技术迈向更现代化、高性能的原生技术基础,带来了显著的功能升级和用户体验优化。从旧到新:架构大变革旧架构:WebView+JavaScript微信旧版PC客户端主要依赖WebView技术,通过HTML、CSS和Java
Maxwell软件使用问题——旧版本打开新版本(The partner project name of the link cannot be empty)
加点油。。。。
Maxwell建模 maxwell 电机建模 仿真 ansys
问题:使用AnsysElectronics2019R1打开2022R1运行maxwell模型是出现了下面问题解决方法:参考链接:(https://bbs.simol.cn/thread-200781-1-1.html)将setup中Advanced的对勾去掉。
商品详情页面html,div+css+JQuery仿京东商品详情界面
L相好
商品详情页面html
【实例简介】div+css+JQuery仿京东商品详情界面【实例截图】【核心代码】京东商品详情界面├──__MACOSX│└──浜笢鍟嗗搧璇︽儏鐣岄潰│├──css│├──images││├──images││└──products│└──js└──浜笢鍟嗗搧璇︽儏鐣岄潰├──css│├──common_07.css│├──product.css│├──product_left.css│├──
自动化办公python脚本_Python自动化办公
weixin_39834281
自动化办公python脚本
在公司购买的OA系统上,很多功能都是软件商开发好的,如果有什么自定义的需求,也很难实现。现实情况下需要将一个工单的各类信息汇总整理为一份Excel,看似简单的需求,却需要在OA系统上反复点击多次,人工汇总。本章我们看看如何使用Python爬虫帮同事解决这个问题的。点击工单号之后才可以看到更多信息一、技术路线requests_html二、环境准备fromrequests_htmlimportHTML
【SpringBoot实现xss防御】
龙少9543
后端 spring boot xss 后端
SpringBoot实现xss防御在SpringBoot中实现XSS防御,可以通过多种方式来确保输入的安全性和防止恶意脚本的注入。下面提供了一些具体的实现代码示例,包括输入清理、输出编码以及设置安全响应头。1.输入清理创建一个简单的工具类来进行HTML转义:importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document.OutputSettings;imp
实现音乐播放器实现:前端HTML,CSS,JavaScript综合大项目(java实战)
用心去追梦
前端 html css
创建一个音乐播放器项目,使用HTML、CSS和JavaScript作为前端技术栈,并结合Java后端(如果需要),可以是一个很好的实战项目。这个项目不仅能够帮助你掌握前端开发技能,还能让你了解如何与后端交互来获取数据。下面是实现这样一个音乐播放器项目的步骤指南,包括了从规划到部署的各个方面。1.项目规划规划功能基本功能播放/暂停按钮。音量控制。进度条。歌曲列表显示。高级功能随机播放。列表循环。搜索
Vue3轮播图的实现:vue3-carousel的使用和配置
闲人陈二狗
html5 vue.js
目录一、安装vue3-carousel二、引入三、轮播全局样式修改一、安装vue3-carousel官方文档:Gettingstarted|Vue3-carouselnpminstallvue3-carousel二、引入在Vue3项目中添加,这是一个简单的轮播demo://IfyouareusingPurgeCSS,makesuretowhitelistthecarouselCSSclassesi
Python爬虫工具BeautifulSoup使用详解
闲人陈二狗
python 爬虫 beautifulsoup
目录一、模块简介二、方法利用1、安装beautifulsoup2、引入模块3、选择解析器解析指定内容三、具体利用1、获取拥有指定属性的标签2、获取标签的属性值3、获取标签中的内容4、stripped_strings四、输出1、格式化输出prettify()2、get_text()一、模块简介BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换
当父级元素设置了flex 布局 ,两个子元素都设置了flex :1, 但是当子元素放不下的时候会溢出父元素怎么解决 (css 样式问题)
IT 牛马
css 前端
一、问题遇到个样式问题,当父级元素设置了flex布局,两个子元素都设置了flex:1,但是当子元素放不下的时候会溢出父元素怎么解决(拖拽浏览器使页面变小)二、解决方法.father{min-height:600px;width:100%;display:flex;gap:12px;&-left{flex:1;min-width:0;//关键代码设置最小宽度和最大宽度可以防止子元素溢出max-wid
有趣的css - 圆形渐变光晕动效
设计师工作日常
有趣的css css 前端 动效设计 ux/ui 交互设计 加载动画
大家好,我是Just,这里是「设计师工作日常」,今天分享的是一个科技感的加载动画效果,适用于科技感网站加载页面。《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。目录整体效果核心代码html代码css部分代码完整代码如下html页面css样式页面渲染效果整体效果知识点:1️⃣background-image过渡属性2️⃣animation动画属性3️⃣box-shadow阴影属性4️⃣
圈子系统如何实现生成海报功能,前后端协同工作
前端
圈子系统通常指的是社交平台或论坛中的一种功能模块,用于创建和管理兴趣小组或讨论群组。以下是对圈子系统的详细解释:一、前端实现前端主要负责海报的生成和展示。这通常通过HTML5的CanvasAPI或类似的图形库来实现。创建Canvas元素:在HTML中创建一个Canvas元素,用于绘制海报。获取Canvas上下文:使用getContext('2d')方法获取Canvas的2D绘图上下文,以便进行绘制
Python爬虫天气预报(小白入门)(1)
2401_84009993
程序员 python 爬虫 开发语言
首先来到目标数据的网页http://www.weather.com.cn/weather40d/101280701.shtml中国天气网我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有部分页面刷新了,就是天气数据的那块,而URL没有变化。这是因为网页前端使用了JS异步加载的技术,更新时不用加载整个页面,从而提升了网页的加载速度。对于这种非静态页面,我们在请求数据时,就不
【CSS】渐变光晕
Y_coder
CSS css javascript 前端
dom元素css样式#box{height:300px;width:300px;background-image:-webkit-gradient(radial,50%50%,0,50%50%,127,color-stop(0%,#CE1A1A),color-stop(100%,#ffffff));background-image:-webkit-radial-gradient(centercen
python中lxml 库之 etree 使用详解
闲人陈二狗
python 开发语言
目录一、etree介绍二、xpath解析html/xml1、第一步就是使用etree连接html/xml代码/文件。2、xpath表达式定位①xpath结合属性定位②xpath文本定位及获取③xpath层级定位④xpath索引定位⑤xpath模糊匹配一、etree介绍lxml库是Python中一个强大的XML处理库,简单来说,etree模块提供了一个简单而灵活的API来解析和操作XML/HTML文
【YashanDB知识库】YashanDB与Oracle数据类型对齐
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253737.html?templateId=171...关于参数USE\_NATIVE\_TYPE在迁移基于Oracle数据库的应用时,有时会遇到应用代码中定义的数据类型与YashanDB返回数据类型不匹配的问题,可以尝试在创建数据库的时候指定参数USE\_NATIVE\_TYPE
【YashanDB知识库】手工迁移Doris数据到崖山分布式
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253739.html?templateId=171...本方案采用csv文件格式进行数据的导出和导入。具体步骤如下:通过sql语句将Doris表导出成csv文件注:导出到本地文件时需要先在fe.conf中配置enable_outfile_to_local=true并重启fe节点--
【YashanDB知识库】锁冲突检查
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253740.html?templateId=171...应用并发操作时,可能发生锁冲突。常见的有行锁冲突、表锁冲突,比如更新同一条记录会出现行锁等待。可以使用下面语句检查当前数据库是否正在发生锁冲突,如果有的话,可以列出哪些应用在申请锁、申请什么样的锁,以及申请的锁被哪些应用持有。
【YashanDB知识库】多csv文件一键式导入yashandb
数据库
本文内容来自YashanDB官网,原文内容请见https://www.yashandb.com/newsinfo/7253738.html?templateId=171...背景:csv文件导入yashandb存在以下两个痛点:1、导入通过yasboot或者yasldr导入csv文件均需要配置表的字段名,如果表比较多,字段也很多的情况下比较费力;2、一些大表需要导入多个csv文件,一个个手工导入效
点击图片浏览大图(sui框架)
this_ITBoy
原创 图片浏览器 H5
项目中经常遇到点击图片或者点击相册浏览大图的情景,SUI框架自带swiper滚动的效果,详情见http://m.sui.taobao.org/中的拓展组件--图片浏览器的效果,在项目中需要做到点击图片出现图片浏览器而不是点击固定的按钮,这就需要在js里做一些改变了。部分html代码如下:这里是freemarker语法循环出每一张图片,而data-src属性的值是图片的接口,img的src属性也是图
Web前端学习重点笔记
HeHolly
前端 学习 笔记
第一章:Web前端开发技术综述第二章:HTML基础第三章:格式化文本与段落标记:标题字标记:大——小字体标记:水平线标记:段落缩进标记:默认5个字符位置拼音标记:何(he)原样显示标记:特殊符号:显示结果说明符号代码空格 >大于号>加粗倾斜删除线下划线上标下标加粗倾斜变小字号变大字号第四章:列表有序列表……type="1(默认)|A|a|i|I"无序列表……type="disc(默
tkinter中text属性_tkinter属性(总结)
俠之大者
tkinter中text属性
一、主要控件1.Button按钮。类似标签,但提供额外的功能,例如鼠标掠过、按下、释放以及键盘操作事件2.Canvas画布。提供绘图功能(直线、椭圆、多边形、矩形)可以包含图形或位图3.Checkbutton选择按钮。一组方框,可以选择其中的任意个(类似HTML中的checkbox)4.Entry文本框。单行文字域,用来收集键盘输入(类似HTML中的text)5.Frame框架。包含其他组件的纯容
vue3+typeScript+vite3+vscode+eslint+prettiter+element-plus+vue-router+pinia+cryptoJs+tailwindcss
高梅飞花
vue typescript vite 编辑器 vscode ide
项目实战windows环境搭建nodeJs安装vite3安装+项目新建配置tsconfig.json配置vite.config.tspackage.jsontailwind.config.cjs配置.eslintrc.cjs配置vscode配置vscodeeslintsettings.jsonmain.ts入口pinia配置路由配置windows环境搭建nodeJs安装nodeJs官网:https
2024年全国信息素养大赛图形化挑战赛国赛(决赛)真题——绘制20个多边形
嗨信奥
scratch 青少年编程
绘制20个多边形编程任务从三角形开始,递增边数,一次画出20个多边形。参数说明:1.画笔初始位置(-25,180),粗细为2;2.每个多边形的边长都是50;3.每画一个多边形,画笔要改变颜色。完整题目可点击下方链接:绘制20个多边形_scratch_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/scratch/show-3937.html程序演示及获取源码可
java责任链模式
3213213333332132
java 责任链模式 村民告县长
责任链模式,通常就是一个请求从最低级开始往上层层的请求,当在某一层满足条件时,请求将被处理,当请求到最高层仍未满足时,则请求不会被处理。
就是一个请求在这个链条的责任范围内,会被相应的处理,如果超出链条的责任范围外,请求不会被相应的处理。
下面代码模拟这样的效果:
创建一个政府抽象类,方便所有的具体政府部门继承它。
package 责任链模式;
/**
*
linux、mysql、nginx、tomcat 性能参数优化
ronin47
一、linux 系统内核参数
/etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目
net.core.rmem_max = 8388608 #SOCKET读缓存区大小
net.core.wmem_max = 8388608 #SOCKET写缓存区大
php命令行界面
dcj3sjt126com
PHP cli
常用选项
php -v
php -i PHP安装的有关信息
php -h 访问帮助文件
php -m 列出编译到当前PHP安装的所有模块
执行一段代码
php -r 'echo "hello, world!";'
php -r 'echo "Hello, World!\n";'
php -r '$ts = filemtime("
Filter&Session
171815164
session
Filter
HttpServletRequest requ = (HttpServletRequest) req;
HttpSession session = requ.getSession();
if (session.getAttribute("admin") == null) {
PrintWriter out = res.ge
连接池与Spring,Hibernate结合
g21121
Hibernate
前几篇关于Java连接池的介绍都是基于Java应用的,而我们常用的场景是与Spring和ORM框架结合,下面就利用实例学习一下这方面的配置。
1.下载相关内容: &nb
[简单]mybatis判断数字类型
53873039oycg
mybatis
昨天同事反馈mybatis保存不了int类型的属性,一直报错,错误信息如下:
Caused by: java.lang.NumberFormatException: For input string: "null"
at sun.mis
项目启动时或者启动后ava.lang.OutOfMemoryError: PermGen space
程序员是怎么炼成的
eclipse jvm tomcat catalina.sh eclipse.ini
在启动比较大的项目时,因为存在大量的jsp页面,所以在编译的时候会生成很多的.class文件,.class文件是都会被加载到jvm的方法区中,如果要加载的class文件很多,就会出现方法区溢出异常 java.lang.OutOfMemoryError: PermGen space.
解决办法是点击eclipse里的tomcat,在
我的crm小结
aijuans
crm
各种原因吧,crm今天才完了。主要是接触了几个新技术:
Struts2、poi、ibatis这几个都是以前的项目中用过的。
Jsf、tapestry是这次新接触的,都是界面层的框架,用起来也不难。思路和struts不太一样,传说比较简单方便。不过个人感觉还是struts用着顺手啊,当然springmvc也很顺手,不知道是因为习惯还是什么。jsf和tapestry应用的时候需要知道他们的标签、主
spring里配置使用hibernate的二级缓存几步
antonyup_2006
java spring Hibernate xml cache
.在spring的配置文件中 applicationContent.xml,hibernate部分加入
xml 代码
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hi
JAVA基础面试题
百合不是茶
抽象实现接口 String类 接口继承 抽象类继承实体类 自定义异常
/* * 栈(stack):主要保存基本类型(或者叫内置类型)(char、byte、short、 *int、long、 float、double、boolean)和对象的引用,数据可以共享,速度仅次于 * 寄存器(register),快于堆。堆(heap):用于存储对象。 */ &
让sqlmap文件 "继承" 起来
bijian1013
java ibatis sqlmap
多个项目中使用ibatis , 和数据库表对应的 sqlmap文件(增删改查等基本语句),dao, pojo 都是由工具自动生成的, 现在将这些自动生成的文件放在一个单独的工程中,其它项目工程中通过jar包来引用 ,并通过"继承"为基础的sqlmap文件,dao,pojo 添加新的方法来满足项
精通Oracle10编程SQL(13)开发触发器
bijian1013
oracle 数据库 plsql
/*
*开发触发器
*/
--得到日期是周几
select to_char(sysdate+4,'DY','nls_date_language=AMERICAN') from dual;
select to_char(sysdate,'DY','nls_date_language=AMERICAN') from dual;
--建立BEFORE语句触发器
CREATE O
【EhCache三】EhCache查询
bit1129
ehcache
本文介绍EhCache查询缓存中数据,EhCache提供了类似Hibernate的查询API,可以按照给定的条件进行查询。
要对EhCache进行查询,需要在ehcache.xml中设定要查询的属性
数据准备
@Before
public void setUp() {
//加载EhCache配置文件
Inpu
CXF框架入门实例
白糖_
spring Web 框架 webservice servlet
CXF是apache旗下的开源框架,由Celtix + XFire这两门经典的框架合成,是一套非常流行的web service框架。
它提供了JAX-WS的全面支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用,同时它能与spring进行完美结合。
在apache cxf官网提供
angular.equals
boyitech
AngularJS AngularJS API AnguarJS 中文API angular.equals
angular.equals
描述:
比较两个值或者两个对象是不是 相等。还支持值的类型,正则表达式和数组的比较。 两个值或对象被认为是 相等的前提条件是以下的情况至少能满足一项:
两个值或者对象能通过=== (恒等) 的比较
两个值或者对象是同样类型,并且他们的属性都能通过angular
java-腾讯暑期实习生-输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]
bylijinnan
java
这道题的具体思路请参看 何海涛的微博:http://weibo.com/zhedahht
import java.math.BigInteger;
import java.util.Arrays;
public class CreateBFromATencent {
/**
* 题目:输入一个数组A[1,2,...n],求输入B,使得数组B中的第i个数字B[i]=A
FastDFS 的安装和配置 修订版
Chen.H
linux fastDFS 分布式文件系统
FastDFS Home:http://code.google.com/p/fastdfs/
1. 安装
http://code.google.com/p/fastdfs/wiki/Setup http://hi.baidu.com/leolance/blog/item/3c273327978ae55f93580703.html
安装libevent (对libevent的版本要求为1.4.
[强人工智能]拓扑扫描与自适应构造器
comsci
人工智能
当我们面对一个有限拓扑网络的时候,在对已知的拓扑结构进行分析之后,发现在连通点之后,还存在若干个子网络,且这些网络的结构是未知的,数据库中并未存在这些网络的拓扑结构数据....这个时候,我们该怎么办呢?
那么,现在我们必须设计新的模块和代码包来处理上面的问题
oracle merge into的用法
daizj
oracle sql merget into
Oracle中merge into的使用
http://blog.csdn.net/yuzhic/article/details/1896878
http://blog.csdn.net/macle2010/article/details/5980965
该命令使用一条语句从一个或者多个数据源中完成对表的更新和插入数据. ORACLE 9i 中,使用此命令必须同时指定UPDATE 和INSE
不适合使用Hadoop的场景
datamachine
hadoop
转自:http://dev.yesky.com/296/35381296.shtml。
Hadoop通常被认定是能够帮助你解决所有问题的唯一方案。 当人们提到“大数据”或是“数据分析”等相关问题的时候,会听到脱口而出的回答:Hadoop! 实际上Hadoop被设计和建造出来,是用来解决一系列特定问题的。对某些问题来说,Hadoop至多算是一个不好的选择,对另一些问题来说,选择Ha
YII findAll的用法
dcj3sjt126com
yii
看文档比较糊涂,其实挺简单的:
$predictions=Prediction::model()->findAll("uid=:uid",array(":uid"=>10));
第一个参数是选择条件:”uid=10″。其中:uid是一个占位符,在后面的array(“:uid”=>10)对齐进行了赋值;
更完善的查询需要
vim 常用 NERDTree 快捷键
dcj3sjt126com
vim
下面给大家整理了一些vim NERDTree的常用快捷键了,这里几乎包括了所有的快捷键了,希望文章对各位会带来帮助。
切换工作台和目录
ctrl + w + h 光标 focus 左侧树形目录ctrl + w + l 光标 focus 右侧文件显示窗口ctrl + w + w 光标自动在左右侧窗口切换ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳
Java把目录下的文件打印出来
蕃薯耀
列出目录下的文件 文件夹下面的文件 目录下的文件
Java把目录下的文件打印出来
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年7月11日 11:02:
linux远程桌面----VNCServer与rdesktop
hanqunfeng
Desktop
windows远程桌面到linux,需要在linux上安装vncserver,并开启vnc服务,同时需要在windows下使用vnc-viewer访问Linux。vncserver同时支持linux远程桌面到linux。
linux远程桌面到windows,需要在linux上安装rdesktop,同时开启windows的远程桌面访问。
下面分别介绍,以windo
guava中的join和split功能
jackyrong
java
guava库中,包含了很好的join和split的功能,例子如下:
1) 将LIST转换为使用字符串连接的字符串
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
Web开发技术十年发展历程
lampcy
android Web 浏览器 html5
回顾web开发技术这十年发展历程:
Ajax
03年的时候我上六年级,那时候网吧刚在小县城的角落萌生。传奇,大话西游第一代网游一时风靡。我抱着试一试的心态给了网吧老板两块钱想申请个号玩玩,然后接下来的一个小时我一直在,注,册,账,号。
彼时网吧用的512k的带宽,注册的时候,填了一堆信息,提交,页面跳转,嘣,”您填写的信息有误,请重填”。然后跳转回注册页面,以此循环。我现在时常想,如果当时a
架构师之mima-----------------mina的非NIO控制IOBuffer(说得比较好)
nannan408
buffer
1.前言。
如题。
2.代码。
IoService
IoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:
1、监听器管理
2、IoHandler
3、IoSession
ORA-00054:resource busy and acquire with NOWAIT specified
Everyday都不同
oracle session Lock
[Oracle]
今天对一个数据量很大的表进行操作时,出现如题所示的异常。此时表明数据库的事务处于“忙”的状态,而且被lock了,所以必须先关闭占用的session。
step1,查看被lock的session:
select t2.username, t2.sid, t2.serial#, t2.logon_time
from v$locked_obj
javascript学习笔记
tntxia
JavaScript
javascript里面有6种基本类型的值:number、string、boolean、object、function和undefined。number:就是数字值,包括整数、小数、NaN、正负无穷。string:字符串类型、单双引号引起来的内容。boolean:true、false object:表示所有的javascript对象,不用多说function:我们熟悉的方法,也就是
Java enum的用法详解
xieke90
enum 枚举
Java中枚举实现的分析:
示例:
public static enum SEVERITY{
INFO,WARN,ERROR
}
enum很像特殊的class,实际上enum声明定义的类型就是一个类。 而这些类都是类库中Enum类的子类 (java.l