有关运用JQ为CSS添加样式

html-css010

有关运用JQ为CSS添加样式,第1张

JQ为CSS添加样式,可以使用jQuery CSS 操作 的css() 方法

定义和用法

css() 方法返回或设置匹配的元素的一个或多个样式属性。

设置 CSS 属性

设置所有匹配元素的指定 CSS 属性。

    $(selector).css(name,value)

实例

/*将所有段落的颜色设为红色:*/

$("p").css("color","red")

设置多个 CSS 属性/值对

$(selector).css({property:value, property:value, ...})

把“名/值对”对象设置为所有匹配元素的样式属性。

这是一种在所有匹配的元素上设置大量样式属性的最佳方式。

实例

实例

$("p").css({

  "color":"white",

  "background-color":"#98bf21",

  "font-family":"Arial",

  "font-size":"20px",

  "padding":"5px"

  })

也可以通过Jquery 属性操作的removeClass、addClass方法移除元素类名或者添加元素类名的方式达到修改元素样式的效果。详细内容可以百度“jQuery 参考手册 - 属性操作”

引入CSS的方法有两种,一种是@import,一种是link

@import url('地址')

<link href="地址" rel="stylesheet" type="text/css" />

现在绝大部分的网站都采用后一种link方式,原因在于

@import先加载HTML,后加载CSS

link先加载CSS,后加载HTML。

所以前者加载网页会出现令浏览者以外的格式,后者则是带格式的加载网页。

但我的需求有点特别,我希望在不添加多余按钮或链接等 dom 元素的情况下,在一个不起眼的边角处加入此选项,并且,页面加载时自动判断,如果该文有边栏则显示,无边栏则不显示此选项(因为我的网站后台发文有显示/隐藏边栏的选项,只是在前台用户无法自己选择),同时切换到无边栏模式后,自动将原位置的 text 和 function 改为“显示边栏”。

还要考虑到自适应站在移动端的显示情形,我的网站在移动端已经自动隐藏了边栏,所以可以永远不显示此选项。总之一句话,希望页面更简单一点。

于是想来想去,只能加在文章标题和内容之间的那根 hr 横线上,并将其推到右角,这样既不会太突兀,也不会破坏坏整体页面风格,而且伪类的 content 并不是 dom 元素。

当然,这根 hr 横线也是有加 CSS3渐变码的,出来的效果还不错,只是众所周知的原因,hr 作为无结束符的特定元素,只能通过添加伪类的方式写入content,而最强大的 jq 选择器对伪类 content 也无法获取,更别说 bind 事件在上面了。