学习
实践
活动
工具
TVP
写文章

alternate&hreflang标签使用方法

小编今天给大家普及一下alternate&hreflang标签使用方法 rel="alternate" hreflang="x" 做多语言网站的利器 rel="alternate" hreflang=" " hreflang="x-default" href="https://www.olightstore.com"> <link rel="<em>alternate</em>" hreflang="cn "> <link rel="<em>alternate</em>" hreflang="uk" href="https://www.olightstore.uk"> <link rel=" <em>alternate</em>" hreflang="fr-fr" href="https://www.olightstore.fr"> <link rel="<em>alternate</em>" hreflang alternate" hreflang="ae" href="https://www.olightstore.ae"> <link rel="<em>alternate</em>" hreflang="sg-en

42730

javascript当中link 的alternate stylesheet 用法

"alternate stylesheet"是备用样式。 --> <link rel="<em>alternate</em> stylesheet" href="a.css" type="text/css" title="red" /> <link rel="stylesheet " href="b.css" type="text/css" title="green" /> <link rel="<em>alternate</em> stylesheet" href="c.css" type

32320
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    android tv 模拟器默认桌面修改 Alternate Launcher开机自动启动app

    关于不同android tv 版本禁用 google默认 launcher的命令如下,自己多试试,版本对应不一定对,原帖地址是:Alternate Launcher (No Root) on Marshmallow v=1&iid=68ffc0fd4e078f69&opt=true&out=http%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_nkw%3Dmouse&title=Alternate 1&iid=b074541887ac4ffb&opt=true&out=http%3A%2F%2Fwww.ebay.com%2Fsch%2Fi.html%3F_nkw%3Dadapter&title=Alternate

    3.5K30

    css3动画从入门到精通

    leaverou.github.io/animatable/ background-color .background-color { background:#708090; animation:1s ease 0s alternate transparent 50%, transparent 75%, black 75%, black); background-size:50px 50px; animation:1s ease 0s alternate 25%, transparent 25%), linear-gradient(-45deg, transparent 75%, slategray 75%); animation:1s ease 0s alternate 语法:animation-direction:,normal:正常方向,reverse:动画反向运行(FF14.0.1以下不支持),alternate:动画会循环正反方向交替运动,alternate-reverse :动画从反向开始,再正反方向交替运动,运动方向始终与alternate定义的相反。

    62371

    CSS3滤镜效果可在动画中使用

    );} to{-webkit-filter:grayscale(100%);} } .filter_grayscale{animation:changeGrayscale 3s infinite alternate webkit-filter:sepia(0);} to{-webkit-filter:sepia(1);} } .filter_sepia{animation:changeSepia 3s infinite alternate (100%);} to{-webkit-filter:saturate(0%);} } .filter_saturate{animation:changeSaturate 3s infinite alternate to{-webkit-filter:brightness(300%);} } .filter_brightness{animation:changeBrightness 3s infinite alternate 100%);} to{-webkit-filter:contrast(500%);} } .filter_contrast{animation:changeContrast 3s infinite alternate

    51780

    animation-direction 属性——动画示例

    语法 animation-direction: normal animation-direction: reverse animation-direction: alternate animation-direction : alternate-reverse animation-direction: normal, reverse animation-direction: alternate, reverse, normal alternate 动画交替反向运行,反向运行时,动画按步后退,同时,带时间功能的函数也反向,比如,ease-in 在反向时成为ease-out。 计数取决于开始时是奇数迭代还是偶数迭代 alternate-reverse 动画第一次运行时是反向的,然后下一次是正向,后面依次循环。决定奇数次或偶数次的计数从1开始。 animation-delay: 1.5s;//延迟1.5秒 animation-iteration-count: infinite; animation-direction: alternate

    24110

    Json中key值不统一解析异常——@SerializedName注解妙用

    versionName : 1.1.3 */ //在此添加后台可能返回的异常json key别名 @SerializedName(value = "downloadUrl", alternate DownloadUrl", "Downloadurl"}) private String downloadUrl; @SerializedName(value = "versionCode", alternate VersionCode", "Versioncode"}) private String versionCode; @SerializedName(value = "versionDes", alternate versiondes", "Versiondes"}) private String versionDes; @SerializedName(value = "versionName", alternate = {"downloadurl", "DownloadUrl", "Downloadurl"})中有两个属性设置,value="默认key",alternate="别名key1,别名key2..."

    1.7K20

    rabbitmq设置备份交换机AE

    = connection.createChannel()) { /** 定义一个备份交换机 和普通交换机无区别 */ channel.exchangeDeclare("alternate_exchange ", "fanout", true, false, null); channel.queueDeclare("alternate_queue", true, false, false, null); channel.queueBind("alternate_queue", "alternate_exchange", ""); Map<String, Object > args = new HashMap<>(1); args.put("alternate-exchange", "alternate_exchange"); /** scanner.hasNext()) { System.out.println(scanner.next()); } } 定义一个本分交换机,与普通交换机无区别,然后在普通业务交换机中使用参数 alternate-exchange

    13610

    react源码解析19.手写迷你版react

    //调协节点 function reconcileChildren(wipFiber, elements) { let index = 0; let oldFiber = wipFiber.alternate && wipFiber.alternate.child; let prevSibling = null; while (index < elements.length || (oldFiber == null) { updateDom(fiber.dom, fiber.alternate.props, fiber.props); } else if (fiber.effectTag == null) { updateDom(fiber.dom, fiber.alternate.props, fiber.props); } else if (fiber.effectTag && wipFiber.alternate.child; let prevSibling = null; while (index < elements.length || (oldFiber

    17330

    React源码解析之Update和UpdateQueue

    //alternate即workInProgress //fiber即current //current到alternate即workInProgress有一个映射关系 //所以要保证current 和workInProgress的updateQueue是一致的 const alternate = fiber.alternate; //current的队列 let queue1; / /alternate的队列 let queue2; //如果alternate为空 if (alternate === null) { // There's only one fiber //如果alternate不为空,则取各自的更新队列 queue1 = fiber.updateQueue; queue2 = alternate.updateQueue; if queue2 = alternate.updateQueue = cloneUpdateQueue(queue1); } else { // Both owners have

    78520

    react源码解析19.手写迷你版react

    //调协节点 function reconcileChildren(wipFiber, elements) { let index = 0; let oldFiber = wipFiber.alternate && wipFiber.alternate.child; let prevSibling = null; while (index < elements.length || (oldFiber == null) { updateDom(fiber.dom, fiber.alternate.props, fiber.props); } else if (fiber.effectTag == null) { updateDom(fiber.dom, fiber.alternate.props, fiber.props); } else if (fiber.effectTag && wipFiber.alternate.child; let prevSibling = null; while (index < elements.length || (oldFiber

    12620

    【动画消消乐】HTML+CSS 自定义加载动画 065

    position: absolute; bottom: 0; left: 20px; animation: animloader61 1s 1.5s linear infinite alternate position: relative; background: white; color: white; animation: loading 1s 1s linear infinite alternate 代码为: span { animation: loading 1s linear infinite alternate; } @keyframes loading { 0% { height before、span::after添加动画 只涉及长度改变 span::before, span::after { animation: loadingx 1s linear infinite alternate ; } span::before, span::after { animation: loadingx 1s 1.5s linear infinite alternate; } span::after

    13410

    butterfly主题美化②

    alternate infinite .5s}.keyboard__line:nth-of-type(6){animation:line 1s ease-in alternate infinite .6s .5s infinite alternate .2666666667s}.key:nth-of-type(5){animation:key-down-white .5s infinite alternate infinite alternate 1.0666666667s}.key:nth-of-type(17){animation:key-down-white .5s infinite alternate alternate .2666666667s}.key__front-5{animation:key-down-color .5s infinite alternate .3333333333s}.key .5s infinite alternate 1.0666666667s}.key__front-17{animation:key-down-color .5s infinite alternate

    15910

    Chrome默认非安全端口

    ssl 2049, // nfs 3659, // apple-sasl / PasswordServer 4045, // lockd 6000, // X11 6665, // Alternate IRC [Apple addition] 6666, // Alternate IRC [Apple addition] 6667, // Standard IRC [Apple addition ] 6668, // Alternate IRC [Apple addition] 6669, // Alternate IRC [Apple addition]

    20020

    实现一个小而全的React

    接下来,要实现的是更新 在每个fiber节点(包括root)新增一个alternate属性,存储上一个更新的oldFiber 两次更新,fiber.type相同,就认为是同一个元素,标记为UPDATE && wipFiber.alternate.child let prevSibling = null while (index < elements.length || oldFiber = null ) { updateDom( fiber.dom, fiber.alternate.props, fiber.props ) } = null ) { updateDom( fiber.dom, fiber.alternate.props, fiber.props ) } && wipFiber.alternate.hooks && wipFiber.alternate.hooks[hookIndex] const hook = { state

    13400

    【React进阶-3】从零实现一个React(下)

    我们同时遍历旧fiber的children(wipFiber.alternate)和要协调的元素数组。在此过程中我们忽略掉一些其他的信息之后,其实仅仅关心oldFiber和element。 用hook索引去检查fiber的alternate属性。如果有旧的hook,我们将state从旧的hook复制到新的hook,否则我们将初始化state。 && wipFiber.alternate.hooks && wipFiber.alternate.hooks[hookIndex]; const hook = { state && wipFiber.alternate.hooks && wipFiber.alternate.hooks[hookIndex]; const hook = { state && wipFiber.alternate.hooks && wipFiber.alternate.hooks[hookIndex]; const hook = { state

    13810

    ABAP 后台作业的一个状态查询工具

    data: l_status(10) type c, l_alternate(01) type c, l_index if l_alternate is initial. l_alternate = 'X'. format color col_normal intensified on. l_alternate = ' '. format color col_normal intensified off. endif. if l_alternate is initial. l_alternate = 'X'. l_alternate = ' '. format color col_normal intensified off. endif.

    17620

    Xcode 配置多套 App 图标的方法 --- AppStore 图标 AB Test 实践

    只使用部分备用的图标 可以通过 Alternate App Icon Sets 设置只使用的备份图标。前提条件时,Include all app icon assets 要设置为 NO. 注:当 Include all app icon assets 要设置为 YSE 时,Xcode 会忽视 Alternate App Icon Sets 设置的内容。 37iOS/Assets-Alternate-App-Icons - GitHub [Xcode13-Alternatelcons-8.jpg] 更灵活的配置 Include all app icon Icon Sets 对应的字段是 ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES。 - Apple Developer 37iOS/Assets-Alternate-App-Icons - GitHub

    1.7K41

    扫码关注腾讯云开发者

    领取腾讯云代金券