React使用Styled-Componets来添加样式
React使用Styled-Componets来添加样式
Styled-Comonents是用JS中ES6
语法的方式来管理CSS样式的一个组件,解决了在import CSS文件时样式重复
安装
- 项目根目录下打开bash
yarn add styled-components
- 新建一个
style.js
文件来添加样式
注意,这里不是用
style.css
文件。
使用
style.js
/*
* @Author: YooHoeh
* @Date: 2018-07-17 16:23:09
* @Last Modified by: YooHoeh
* @Last Modified time: 2018-07-18 16:43:05
* @Description:
*/
import styled from "styled-components";
import logoPic from "../../statics/logo.png";
export const HeaderWrapper = styled.div` //导出以一个组件名为HeaderWrapper的样式,
position: reletive;
height: 56px;
// background: red; //支持添加//来添加注释,这行样式将不会执行
border-bottom: 1px solid #f0f0f0f0;
`;
export const Logo = styled.a.attrs({
href: "/" //通过attrs()方法为组件添加其他属性
})`
width: 100px;
background: url(${logoPic}); //只能使用import的方式将图片导入,不能填写直接填写本地路径
`;
index.js
/*
* @Author: YooHoeh
* @Date: 2018-07-17 16:18:56
* @Last Modified by: YooHoeh
* @Last Modified time: 2018-07-18 17:48:48
* @Description:
*/
import
'''''';
import {
HeaderWrapper,
Logo
} from "./style";
export default class Header extends Component {
''''
render() {
return (
<HeaderWrapper> //这里用style.js中对应的组件名,渲染的时候会替换成对应的标签类型。
<Logo />
</HeaderWrapper>
);
}
}
进阶用法
子代选择
index.js
<Item >
<input className='active'/>
<input/>
<input/>
</Item >
style.js
const Item = styled.div`
font-size:15px;
.active{ //和Sass格式一样,在里面可以直接添加可以表示子代拥有
border:1px solid red;
}
`
多Class名选择
index.js
<Item className='item active'>1</Item >
<Item className='item'>2</Item >
style.js
const Item = styled.div`
font-size:15px;
&.active{ //添加&可以表示同时拥有
color:red;
}
`
React使用Styled-Componets来添加样式的更多相关文章
- react 给选中的li添加样式(转载)
路:使用事件委托,关键:获取到的index必须转为数字,因为它是字符串 handleClick = (e) => { const nodeName = e.target.nodeName.toU ...
- react动态添加样式:style和className
react开发过程中,经常会需要动态向元素内添加样式style或className,那么应该如何动态添加呢??? 一.react向元素内,动态添加style 例如:有一个DIV元素, 需要动态添加一个 ...
- react之四种组件中DOM样式设置方式
1.行内样式 想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现 行内样式需要写入一个样式对象,而这个样式对象的位置可以放在很多地方 例如:render函数里.组件原型上.外链js文件 ...
- [转]用CSS给SVG <use>的内容添加样式
来源:http://www.w3cplus.com/svg/styling-svg-use-content-css.html?utm_source=tuicool&utm_medium=ref ...
- 为html.EditorFor添加样式
有网友问及,怎样为html.EditorFor添加样式. 解决方法,可以参考下面语法: 先new一个htmlAttributes. @model Book @using Insus.NET.Model ...
- JQuery为元素添加样式
由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...
- JavaScript 应用开发 #5:为完成的任务添加样式
判断一下任务的状态,如果是完成的任务,可以在任务项目的上面,添加一个额外的 css 类,在这个 css 类里,可以去定义完成的任务的样式.比如,把文字的颜色变成浅友色,并且在文字上面添加一条删除线.这 ...
- HTML添加样式三种办法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Javascrip动态添加样式,Dom操作,获取自定义属性
var layer=document.querySelector('.layer') 添加样式: 添加单个样式: layer.style.display="block" 添加多个样 ...
随机推荐
- vs2017初学c++环境配置及使用教程
https://blog.csdn.net/jmpan_sjtu/article/details/79053169 https://blog.csdn.net/luoyu510183/article/ ...
- 剑指offer错题记录
错误重点: 1. 传递vector参数时,如果调用函数改变了vector的内容,一定一定要&,传引用保持一致 旋转数组的最小数字:有重复数字情况,二分查找照样搞.情况考虑要周全,当a[mid] ...
- mysql分组(五)
MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT ...
- WebApi接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了 ...
- Flink--将表转换为DataStream或DataSet
A Table可以转换成a DataStream或DataSet.通过这种方式,可以在Table API或SQL查询的结果上运行自定义的DataStream或DataSet程序 将表转换为DataSt ...
- Selenium自动化测试框架的搭建
说 起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测 ...
- AtCoder Regular Contest 099 (ARC099) E - Independence 二分图
原文链接https://www.cnblogs.com/zhouzhendong/p/9224878.html 题目传送门 - ARC099 E - Independence 题意 给定一个有 $n$ ...
- 普林斯顿微积分读本 大纲与重点 (by zzd)
普林斯顿微积分读本 大纲重点 由于博客园太菜,所以我用图片上传. 当前更新状态:未完待续,挖坑暂时不填了. UPD(2018-07-08): 稍微更一下,加一个本书的某一版本下载链接:https:// ...
- BZOJ1208 [HNOI2004]宠物收养所 splay
原文链接http://www.cnblogs.com/zhouzhendong/p/8085803.html 题目传送门 - BZOJ1208 题意概括 有两种数,依次加入. 规则为下: 如果当前剩余 ...
- solr配置IKAnalyzer抛出ClassNotFoundException
这个问题搞了很久,在QQ群上问了很久,关键很气人的是我居然被群主给开了.我也是醉了.我不知道我哪里得罪了那个solr群的群主. 废话不多说.抛出的异常如下: 刚开始一直认为是没有找到类,也就相当于没找 ...