小编cat*_*use的帖子

为了模块化目的,链接CSS类或单独命名它们会更好吗?

例如,哪个更好:

方法1(分别命名类):

/* CSS */

.textbox-red, 
.textbox-green {
   padding: 10px;
   border: 1px solid #CCC;
   border-radius: 10px;   
}

.textbox-red { color: #900; }
.textbox-green { color: #3c3; }

/*HTML*/

<div class="textbox-red"></div>
<div class="textbox-green"></div>
Run Code Online (Sandbox Code Playgroud)

要么 - - - - - -

方法2(链类):

/* CSS */

.textbox {
  padding: 10px;
  border: 1px solid #CCC;
  border-radius: 10px;
}

.textbox.text-red { color: #900; }
.textbox.text-green { color: #3c3; }

/*HTML*/

<div class="textbox text-red"></div>
<div class="textbox text-green"></div>
Run Code Online (Sandbox Code Playgroud)

两者之间有什么更好的做法?

css oocss

5
推荐指数
1
解决办法
2617
查看次数

如何使不规则形状的SVG重叠,同时保持所有区域可点击?

我已经创建了4个浮动到左侧的SVG(所有相同的形状).我试图让它们重叠(因为它看起来更好)但问题是,由于它们的形状是不规则的,一些区域变得不可点击.

我用它作为CSS代码:

.interact-arrow {
    float: left;
    margin-right: -100px;
    width: 24%;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)

这是问题的完整codepen演示:http://codepen.io/aguerrero/pen/pgvJoa

如何正确编码CSS以便我可以单击各个箭头的任何区域?我在<image>里面<svg>用作可点击区域.

html css svg css-float

5
推荐指数
1
解决办法
196
查看次数

如何在 React 中在画布上连续流式传输视频?

基本上,我尝试在 React 上下文中使用https://github.com/cozmo/jsQR 。但是,canvas 仅在组件安装时捕获视频流。如何使用反应画布连续流式传输视频?

import React, { Component } from "react";
import jsQR from "jsqr";

class WebcamStream extends Component {
  constructor(props) {
    super(props);

    this.videoTag = React.createRef();
    this.canvas = React.createRef();

    this.tick = this.tick.bind(this);
  }

  componentDidMount() {
    // getting access to webcam
    navigator.mediaDevices
      .getUserMedia({ video: { facingMode: "environment" } })
      .then(stream => {
        const video = this.videoTag.current;
        video.srcObject = stream;
        video.setAttribute("playsinline", true);
        video.play();
        requestAnimationFrame(this.tick);
      });
  }

  componentDidUpdate() {}

  drawLine(begin, end, color) {
    const canvasElement = this.canvas.current;
    const canvas = …
Run Code Online (Sandbox Code Playgroud)

javascript canvas qr-code reactjs

5
推荐指数
1
解决办法
3446
查看次数

在移动应用内浏览器中打开时,iOS中的魔术链接出现问题

因此,魔术链接的通常流程是:

  1. 用户单击电子邮件中的链接(例如www.domain.com/auth/:token)
  2. 在电子邮件的应用内浏览器中打开页面。
  3. 令牌存储在应用内浏览器的本地存储中,令牌从URL中删除(通过重定向或其他方法)。
  4. 用户已登录(在应用内浏览器中)。

如果用户随后在手机的应用程序内浏览器中单击“在Safari中打开此应用程序”(或其他浏览器),则会发生问题。由于未保留本地存储状态并且令牌已从URL参数中删除,因此用户将被注销。除非令牌在每个页面URL上作为查询/参数出现,否则该令牌是不安全的,并且会破坏使用本地存储的目的。

在没有提供典型登录流程(用户名/密码)的情况下,此用例的最佳解决方案是什么?(或者这是唯一的方法吗?)您似乎无法使用魔术链接通过实际的浏览器应用程序在iOS中浏览任何应用程序,因为魔术链接将始终来自您的电子邮件应用程序(因此,将始终使用in-应用浏览器)。

authorization local-storage access-token ios

5
推荐指数
1
解决办法
116
查看次数

如何在Web应用程序中完成实时预览功能?

基本上,我们使用无头CMS来编辑网站A上的内容。我们基于无头CMS API(称为网站CMS)构建自己的CMS UI。

现在,我们在Website CMS中拥有此页面,您可以在其中在左侧面板上编辑内容,并在右侧面板上获得网站A的预览(移动视图)。

我以前没有做过这样的事情,我想知道什么是实现此目标的最佳方法,以及是否有任何库可以帮助实现此功能。

一些想法:

  1. 将网站A嵌入到Website CMS中,并且在左侧面板上所做的任何更改基本上只会刷新网站A(仅嵌入到页面中)。
  2. 在网站CMS中将网站A重新创建为页面,并调用相同的API,以使更改都发生在网站CMS的网站A和实际的网站A上。对于完全相同的页面)。
  3. 其他???

我们正在使用的主要框架是此CMS UI的ReactJs。

javascript headless live-preview content-management-system reactjs

5
推荐指数
1
解决办法
118
查看次数

使用 React Native Web 时如何选择文件?

我们正在构建一个使用 react native 的应用程序,但我们不会为第一个版本发布本机版本。我们仍在使用网络(react-native-web为此使用)。

但是,我坚持使用文件上传功能,因为要使用 React Native 组件,我们需要执行本机权限(但我们不是在本机部署它,因此浏览器中没有这样的东西)。但同时,我无法使用简单的,<input type=“file” />因为 UI 是建立在 react 本机特定的标签上的(例如<View>/<Image>等)

这个问题有方法解决吗?

reactjs react-native react-native-web

5
推荐指数
1
解决办法
2111
查看次数

IE7的开发者工具兼容模式中的IE7是否可靠用于测试网站的前端设计?

我一直在IE 8的IE7浏览器模式下测试我们的网站,它在这里和那里显示了一些前端/错位问题.但是,我不确定它是否完全可靠.我不想修复实际IE 7浏览器上实际没有显示的问题.

我需要建议它是否足够可靠用于跨浏览器测试,或者我们是否应该使用实际的IE7.

谢谢.

internet-explorer ie-developer-tools internet-explorer-7 ie8-compatibility-mode

3
推荐指数
1
解决办法
2379
查看次数

如何使用GreenSock同时为2个或更多元素制作动画?

我想使用Green Sock一次动画两个不同的元素.如何修改下面的代码,以便它们同时执行完全动画而不是一个接一个地执行?

tlProject = new TimelineMax({});    

tlProject.from($animated_bowl, 2, {opacity: 0, scale: 0, ease: Bounce.easeOut})
    .from($animated_bowl_shadow, 2, {opacity: 0, scale: 0, ease: Bounce.easeOut});
Run Code Online (Sandbox Code Playgroud)

谢谢!

jquery greensock tweenmax gsap

3
推荐指数
1
解决办法
4260
查看次数

将数组传递给JavaScript过滤器函数

假设我有一个像这样的对象数组:

someObj: [
    {
        name: "Obj1",
        type: "a"
    },
    {
        name: "Obj2",
        type: "b"
    },
    {
        name: "Obj3",
        type: "c"
    }
]       
Run Code Online (Sandbox Code Playgroud)

现在我有一个函数,someObj如果传递的参数具有相同的type属性,它应该从数组返回一个对象数组.事情是传递的参数是一个数组,我不知道如何进行比较.

function filter(types) {
  var filtered = someObj.filter(function(item) {

    return item.type == ???

  });       

  return filtered;  
}

filter(["a", "c"]);
Run Code Online (Sandbox Code Playgroud)

我如何比较传递给item.type的数组参数中的每个项目,以便如果它们相等,那么过滤器函数将返回给我一个如下数组:

[
 {
    name: "Obj1",
    type: "a"
 },
 {
    name: "Obj3",
    type: "c"
 }
]
Run Code Online (Sandbox Code Playgroud)

javascript arrays filter

3
推荐指数
1
解决办法
69
查看次数

我可以在动作减速器中使用条件吗?

基本上,在我们的例子中,我们需要获得一个警报列表,显示前几个项目(首次在DOM中安装)或显示初始列表+下一个列表(单击load more按钮).

因此我们需要在GET_ALERTS行动中做到这一点:

case "GET_ALERTS":
    if (action.initialList) {
        newState.list = [...newState.list, action.res.data.list];
    } else {
        newState.list = newState.list.concat(
            action.res.data.list
        );
    }
Run Code Online (Sandbox Code Playgroud)

当我们在Alerts组件中调用action reducer时,我们需要指出initialList是true还是false.

例如

componentDidMount() {
    this.props.getAlerts(pageNum, true);
}

markAllAsRead() {
   // other code calling api to mark all as read
   this.props.getAlerts(pageNum, false);
}

readMore() {
  // other code that increases pageNum state counter
  this.props.getAlerts(pageNum, true);
}
Run Code Online (Sandbox Code Playgroud)

无论如何在这种情况下,在reducer中使用条件语句是否可以?

javascript reactjs redux

3
推荐指数
1
解决办法
1070
查看次数