如何用JS来改变CSS属性?

html-css022

如何用JS来改变CSS属性?,第1张

通过js来改变CSS属性,使用jQuery可以很方便的实现,像这样:

$("img").css('border-color','red')

就可以把边框颜色都变成红色。

这是针对此问题的测试页面

2、这是3张图片

<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=975878983,2392470128&fm=11&gp=0.jpg'>

<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=61343736,951557457&fm=11&gp=0.jpg'>

<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1354592590,1762022981&fm=11&gp=0.jpg'>

3、这是图片的样式,边框默认为灰色。

img{

max-width:200px

border-color:gray

border-width:10px

border-style:solid

}

4、现在通过这几行用到jQuery的代码,控制图片边框根据鼠标移入移出边框变灰和变红。

$(function(){

$("img").on('mouseover',function(){

$(this).css('border-color','red')

}).on('mouseout',function(){

$(this).css('border-color','gray')

})

})

5、效果如图

1、 元素类型的转换(display属性)

Display属性

属性值:

Block

Inline

None

大部分块状元素默认的display的值为block,其中li默认的值 list-item(列表元素)

大部分内联元素默认的display值为inline,其中input默认的值为:inline-block(行内块元素);

内联元素里面特殊的一个:行内块元素(内联块元素)

特点:

1:可以设置宽高

2:在一行内逐个显示

3:当前元素的display的值为inline-block能支持vertical-align 属性。

2、 vertical-align属性

vertical-align:垂直对齐。

Top

Bottom

Middle

Baseline

让一个元素在父元素里面左右上下居中:

给父元素添加text-align:center(左右居中)

给当前元素添加:

Display:inline-bolck

Vertical-align:middle

在当前元素后面(不要回车),添加一个空的span标签。

给span设置样式:

Display:inline-block

Width:0

Height:100%

Vertical-align:middle

3、 css元素类型的分类总结

分类:块状元素、内联元素、可变元素

元素类型的转换:

Display属性:

属性值:

Block

Inline

Inline-book

None

List-item

行内块元素:input display为inline-blcok1

Img标签:浏览器默认解析的display值为inline

标签的嵌套规则:

尽量让块状元素作为父元素存在;

内联元素的子元素尽量也是内联元素;

P标签中不能出现h1-h6;

P标签和h1-h6不能互相嵌套。

4、 图片默认的display属性值为inline,为什么图片能添加宽高???

从另一个角度对所有的标签进行分类。

分为:置换元素与非置换元素

置换元素:

典型的置换元素:img/input 依赖标签的属性或者元素自身的类型;‘

因为img是置换元素,所以能添加大小。因为置换元素在页面显示的过程中,生成一个框(框架),这个框能添加大小。

非置换元素:

不是置换元素的都是非置换元素。

5、 定位

定位:让元素的位置发生改变。

定位属性:

Position属性:设置或者检索元素定位方式。

(如果元素有了position属性,元素就知道自己要做位置移动了)

Position的属性值:(属性值是告诉元素参照物是谁)

制定坐标:left/right/top/bottom

Position的属性值:

1:position:static 【静态定位】 (position的默认值)

2:position:absolute 【绝对定位】

a. 绝对定位的参照物:

已经有定位的父元素为参照物

如果父元素都没有定位或者没有父元素,以文档为参照物

b. 绝对定位的特点:

不占据空间,脱离布局流。

第一个 :此元素将显示为块级元素,此元素前后会带有换行符。

解释:例如你在一个DIV中引用此样式,接下来的元素会默认排列在此DIV之下。

display官方说明:这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型, 如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。

第二个:是指当元素超出显示范围时,元素的浮动位置

解释:这个你用textarea自己写一下,然后输入文本,让文本超过输入区域,你就看出区别来了

folate官方说明:float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。

以上是参考,可以参见CSS官方文档,英文的会更容易理解些。