GVKun编程网logo

css与react的工作方式与简单的html不同(css react)

7

以上就是给各位分享css与react的工作方式与简单的html不同,其中也会对cssreact进行解释,同时本文还将给你拓展12小时包你学会基于ReactMix框架的ReactNativeApp开发(

以上就是给各位分享css与react的工作方式与简单的html不同,其中也会对css react进行解释,同时本文还将给你拓展12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面_html/css_WEB-ITnose、2015-07-31:一个最简单的HTML网页_html/css_WEB-ITnose、CKEditor如何以允许React识别的方式与React.js一起使用?、CS50 HTML 和 CSS 基础 (介绍最简单的 HTML 和 CSS)等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

css与react的工作方式与简单的html不同(css react)

css与react的工作方式与简单的html不同(css react)

如何解决css与react的工作方式与简单的html不同?

我正在尝试使用 react 构建翻转卡片,但它们的行为与仅使用 html 时的效果略有不同

我认为代码有点问题,但后来我从教程本身复制了代码,代码在简单的 html 文件中工作正常,但是当我将 html 代码放入 react 组件并导入 css 时,翻转卡片的背面大小增加。

问题:在翻转卡片时,背面尺寸会随着反应而增加,但在 html 中工作正常

代码如下:

index.js (css 文件为空)

  ReactDOM.render(
  <React.StrictMode>
    <Flip />
  </React.StrictMode>,document.getElementById(''root'')
  );

这里是翻转组件代码(flip.js)

function Flip() {
return (
  <div className="flip3D">
   <div className="back">Box 1 - Back</div>
   <div className="front">Box 1 - Front</div>
  </div>
) }

这里是css代码:

.flip3D{ width:240px; height:200px; margin:10px; float:left; }
 .flip3D > .front{
     position:absolute;
     -webkit-transform: perspective( 600px ) rotateY( 0deg );
     transform: perspective( 600px ) rotateY( 0deg );
     background:#FC0; width:240px; height:200px; border-radius: 7px;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     transition: -webkit-transform .5s linear 0s;
     transition: transform .5s linear 0s;
 }
 .flip3D > .back{
     position:absolute;
     -webkit-transform: perspective( 600px ) rotateY( 180deg );
     transform: perspective( 600px ) rotateY( 180deg );
     background: #80BFFF; width:240px; height:200px; border-radius: 7px;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     transition: -webkit-transform .5s linear 0s;
     transition: transform .5s linear 0s;
 }
 .flip3D:hover > .front{
     -webkit-transform: perspective( 600px ) rotateY( -180deg );
     transform: perspective( 600px ) rotateY( -180deg );
 }
 .flip3D:hover > .back{
     -webkit-transform: perspective( 600px ) rotateY( 0deg );
     transform: perspective( 600px ) rotateY( 0deg );
 }

这些是我项目中唯一的文件,因此没有其他 css 文件或组件与此冲突 index.css 文件为空

预期行为:当这段代码在 React 中使用时,翻转后 div 的大小应该保持与前面部分显示时的大小相同

任何帮助将不胜感激谢谢!

解决方法

在 React 中,class 属性应命名为 className

这是因为 class 是 ES6 JavaScript 的保留字。

您的组件应该是:

function Flip() {
  return (
      <div className="flip3D">
        <div className="back">Box 1 - Back</div>
        <div className="front">Box 1 - Front</div>
      </div>
  ); 
}
,

虽然我不是只导入了 index 中的 Flip.js,但是从文件夹中删除了其他组件后,它开始正常工作

12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面_html/css_WEB-ITnose

12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面_html/css_WEB-ITnose

上一篇文章,大家对于reactmix( https://github.com/xueduany/react-mix )框架有了一个基本认识,知道我们是一个语法糖,帮助大家基于一套代码,所有平台都能跑。那么今天就是来实战一下,写一个所有平台都能跑的页面出来。

首先我们要准备了解的基本知识如下,在H5开发中,我们的页面布局方式有

1. 默认布局(块状元素和内联元素)

2. 浮动布局(Float)

3. 定位布局(position: relative, absolute, top, left, right, bottom)

立即学习“前端免费学习笔记(深入)”;

4. Flex布局

在ReactNative中,我们能用到的是1,3,4,没有2

另外,在H5中,我们css属性值是有单位的,在ReactNative中没有,ReactMix帮助我们解决这个问题,他作为语法糖支持了CSS的属性值单位问题,使得我们可以像写 css一样写12px, 12pt, 12em, 12rem,且这些单位有实际效力

px即像素,pt即磅,em即默认字体大小,默认是16px, rem即可变字体大小,随屏幕大小而不断变化,这个单位以后会非常重要,使我们解决iOS常见的设备适配问题的关键,有了他,妈妈再也不用担心我的设备适配问题了

Ok,那我们先创建一个空白页面,首先新建一个demo.js

(class Test extends App{

render(){

return (

HelloWorld!

);

}

}).run();

这里有个概念提交一下,熟悉ReactNative的同学,可能知道,在ReactNative里面,app启动,需要在AppRegist里面注册,任何app内的应用都有一个主入口,所以ReactMix封装了一个入口函数,兼容不同平台的实现,对于开发者来说只需要继承与App类,页面作为一个静态类,执行自己的run方法,就可以在app展现了

对于开发者来说,你只需要像以上写法一样,写一个自己的静态类,继承与App即可

然后按照ReactJS的模板,在render方法里面返回一段jsx的语法(未来会支持直接基于HTML做翻译,现阶段因为React 比较流行,所以还是基于ReactJs的模板方式)

接着,我们在./css目录里面创建一个test.css文件,写入样式

#J1 {

color: red;

}

.J2 {

background-color: yellow;

}

然后打开命令行,输入node react.css.build.js,

你可以看到css被同步编译test.js到./reactnative/css目录里面,生成了一个对应的test.js文件

然后,在我们的刚才的./reactnative/demo.js文件里面,引入这个css文件,

输入includeCSS(“require(‘./css/test’)”)

这里可能会奇怪,为什么会有2层字符串,原理是这样的,在reactnative里面,我们实际需要的是./reactnative/css/test.js这个文件,而不是./css/test这个文件,在reactnative的加载机制,他按照字符串关键字做import的,所以不需要require语法执行,那么我们只要用一个字符串的require就可以实现加载,但是在H5中,加载css,我们是需要知道他的位置,创建link添加到head中去的,所以会有这么一个奇怪的兼容写法,后面我们说高级技巧的时候,会有一篇专门的章节,重点介绍这个

引入css之后,我们需要给div节点标记id和className,我们修改demo.js成这样

启动,查看效果如下

浏览器./web/index.html

iOS,启动模拟器

安卓启动模拟器

Ok,让我们再把页面做复杂一点,修改demo.js如下

接着修改CSS,使用一些className的组合嵌套

接着查看效果

Ok,符合预期,三个平台表现基本一致。

本周休息一周,ReactMix平台最近版本变更非常频繁,希望大家能关注这个新新的框架。我们会持续努力~!

2015-07-31:一个最简单的HTML网页_html/css_WEB-ITnose

2015-07-31:一个最简单的HTML网页_html/css_WEB-ITnose

<!DOCTYPE html><html><head>    <meta charset="GBK">    <title>这是一个 HTML5 网页</title></head><body>    <p>hello html5</p></body></html>
登录后复制

版权声明:本文为博主原创文章,未经博主允许不得转载。

CKEditor如何以允许React识别的方式与React.js一起使用?

CKEditor如何以允许React识别的方式与React.js一起使用?

我已经尝试过使用componentWillMount和componentDidMount从React的上下文中初始化CKEditor,但是无论我尝试哪种组合,它似乎都不起作用。除了切换编辑器之外,还有人找到解决方案吗?

答案1

小编典典

我在Npm上发布了一个将CKEditor与React结合使用的软件包。只需1行代码即可集成到您的项目中。

Github上的链接- https://github.com/codeslayer1/react-
ckeditor。

如何使用?

  • 使用安装软件包npm install react-ckeditor-component --save
  • 然后将组件包含在您的React应用中,并将其传递给您的内容以及您需要的其他任何道具(所有道具列在Github页面上)-

<CKEditor activecontent={this.state.content}onChange={this.updateContent} />

该软件包使用CKEditor的默认版本,但您也可以使用自定义版本以及所需的任何插件。它还包括一个示例应用程序。希望您会发现它有用。

CS50 HTML 和 CSS 基础 (介绍最简单的 HTML 和 CSS)

CS50 HTML 和 CSS 基础 (介绍最简单的 HTML 和 CSS)

最近简单 HTML 

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hello!</title>
    </head>
    <body>
        Hello, world!
    </body>
<html>

HTML 中 form 表单

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Forms</title>
</head>
<body>
    <form>
        <input type="text" placeholder="First Name" name="first">
        <input type="password" placeholder="Password" name="password">
        <div>
            Favorite Color:
            <input name="color" type="radio" value="blue"> Blue
            <input name="color" type="radio" value="green"> Green
            <input name="color" type="radio" value="yellow"> Yellow
            <input name="color" type="radio" value="red"> Red

        </div>
        <input type="submit">
    </form>
</body>
</html>

相对比较复杂的 HTML

超链接 href

有序列表和无序列表

图片

表格

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>HTML Elements</title>
    </head>
    <body>
        <!-- We can create headings using h1 through h6 as tags. -->
        <h1>A Large Heading</h1>
        <h2>A Smaller Heading</h2>
        <h6>The Smallest Heading</h6>

        <!-- The strong and i tags give us bold and italics respectively. -->
        A <strong>bold</strong> word and an <i>italicized</i> word!

        <!-- We can link to another page (such as cs50''s page) using a. -->
        View the <a href="https://cs50.harvard.edu/">CS50 Website</a>!

        <!-- We used ul for an unordered list and ol for an ordered one. both ordered and unordered lists contain li, or list items. -->
        An unordered list:
        <ul>
            <li>foo</li>
            <li>bar</li>
            <li>baz</li>
        </ul>
        An ordered list:
        <ol>
            <li>foo</li>
            <li>bar</li>
            <li>baz</li>
        </ol>

        <!-- Images require a src attribute, which can be either the path to a file on your computer or the link to an image online. It also includes an alt attribute, which gives a description in case the image can''t be loaded. -->
        An image:
        <img src="../../images/duck.jpeg" alt="Rubber Duck Picture">
        <!-- We can also see above that for some elements that don''t contain other ones, closing tags are not necessary. -->

        <!-- Here, we use a br tag to add white space to the page. -->
        <br/> <br/>

        <!-- A few different tags are necessary to create a table. -->
        <table>
            <thead>
                <th>Ocean</th>
                <th>Average Depth</th>
                <th>Maximum Depth</th>
            </thead>
            <tbody>
                <tr>
                    <td>Pacific</td>
                    <td>4280 m</td>
                    <td>10911 m</td>
                </tr>
                <tr>
                    <td>Atlantic</td>
                    <td>3646 m</td>
                    <td>8486 m</td>
                </tr>
            </tbody>
        </table>
    </body>
<html>

 CSS 简介

在 HTML 中嵌入 CSS

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hello!</title>
    </head>
    <body>
        <h1 style="color: blue; text-align: center;">A Colorful Heading!</h1>
        Hello, world!
    </body>
<html>

指定整个 body 的样式

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hello!</title>
    </head>
    <body style="color: blue; text-align: center;">
        <h1 >A Colorful Heading!</h1>
        Hello, world!
    </body>
<html>

将 CSS 放在前面

 <html lang="en">
  <!DOCTYPE html>
  <head>
      <title>Hello!</title>
      <style>
          h1 {
              color: blue;
              text-align: center;
          }
      </style>
  </head>
  <body>
      <h1 >A Colorful Heading!</h1>
      Hello, world!
  </body>
  </html>

单独的 CSS 文件

 h1 {
      color: blue;
      text-align: center;
  }
<html lang="en">
  <!DOCTYPE html>
  <head>
      <title>Hello!</title>
      <link rel="stylesheet" href="styles.css">
  </head>
  <body>
      <h1 >A Colorful Heading!</h1>
      Hello, world!
  </body>
  </html>

给表格添加 CSS

table {
    border: 1px solid black;
    border-collapse: collapse;
}

td {
    border: 1px solid black;
    padding: 2px;
}

th {
    border: 1px solid black;
    padding: 2px;
}
table {
    border: 1px solid black;
    border-collapse: collapse;
}

td, th {
    border: 1px solid black;
    padding: 2px;
}

更复杂的 CSS
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Pseudoclasses</title>
        <style>
            button {
                background-color: red;
                width: 200px;
                height: 50px;
                font-size: 24px;
            }

            button:hover {
                background-color: green;
            }
        </style>
    </head>
    <body>
        <button>Button 1</button>
        <button>Button 2</button>
        <button>Button 3</button>

    </body>
<html>

 

我们今天的关于css与react的工作方式与简单的html不同css react的分享已经告一段落,感谢您的关注,如果您想了解更多关于12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面_html/css_WEB-ITnose、2015-07-31:一个最简单的HTML网页_html/css_WEB-ITnose、CKEditor如何以允许React识别的方式与React.js一起使用?、CS50 HTML 和 CSS 基础 (介绍最简单的 HTML 和 CSS)的相关信息,请在本站查询。

本文标签: