#csstext
Explore tagged Tumblr posts
cssgenerator · 3 years ago
Link
0 notes
jabberwock130 · 2 years ago
Text
I found out a while ago that if you make a bookmark with this css code
javascript:(function(){var goaway=".ytp-chrome-top,.ytp-chrome-bottom{display:none;}";if("\v"=="v"){document.createStyleSheet().cssText=goaway}else{var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=goaway}})();
inplace of where you would put the URL then clicking said bookmark while youtube is paused will cause the bar to go away
Like so
Tumblr media
STUPID HIGHLY SPECIFIC GRIPE
Tumblr media
(and of course the only time this ISNT an issue is on MOBILE)
63K notes · View notes
im-basically-logan · 6 years ago
Text
hey people who want screenshots from youtube videos that are on desktop
javascript:(function(){var goaway=".ytp-chrome-top,.ytp-chrome-bottom,.ytp-gradient-top,.ytp-gradient-bottom{display:none;}";if("\v"=="v"){document.createStyleSheet().cssText=goaway}else{var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=goaway}})();
THIS LINE OF JAVASCRIPT WILL GET RID OF THE GUI WHEN PAUSED AND THE VIGNETTE AS WELL!!! :D
I got the code from here! It works very well. Just drag the code into your bookmarks and click it after loading up a youtube video. The effect will go away after refreshing the page.
10 notes · View notes
scriptatly · 3 years ago
Text
FlyingPress It's the best WordPress acceleration plugin
FlyingPress It’s the best WordPress acceleration plugin
FlyingPress is an all-in-one plugin to speed up WordPress sites, from page storing, CDN to picture streamlining. It is the best WordPress acceleration plugin of 2022 and it is similar to the WP Rocket plugin. It is the best WordPress accelerator plugin of 2022 and it is similar to the WP Rocket plugin FlyingPress WordPress Plugin Features: Streamline CSSText style OptimizationPage…
Tumblr media
View On WordPress
0 notes
trial-and-spiral · 5 years ago
Text
Gridsomeでイチからブログを作る - metaタグやOGPを最適化する
前回、ようやく記事を書けるようになりました。一応ブログの形にはなりましたが、まだまだ機能として不十分です。これから少しづつ機能追加していきます。今回は検索やTwitterなどのシェア時に役立つmetadata(metaタグ)をカスタマイズしていきます。
import SeriesGridsomeFromScrach from '../series/SeriesGridsomeFromScrach.vue'
metaタグis何?
metaタグとはHTMLのヘッダー部分に記述される<meta>というタグをさし、サイトやページの言語や説明、カバー画像などを指定します。本来はmetadataと称されるべきかもしれませんが、一般的にmetaタグと呼ばれているようです。検索サイトではこの情報をもとに説明を表示したり、SNSでリンクがシェアされた場合もこの情報を参照します。OGPと呼ばれるものもこのメタタグの一種です。
つまり検索流入やシェアされたリンクからの流入を期待するならば必須になってくる設定です。
一般的によく使うmetadata
metadataはサイトを表示するために必ずしも必須ではありません。特にTwitterやFacebook用のOGP設定はなくても表示にはなんら影響しません。ここでは一般的に良く使うものをサラっと紹介します。
一般的なもの
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
OGP
<meta property="og:site_name" content="">
<meta property="og:type" content="">
<meta property="og:title" content="">
<meta property="og:description" content="">
<meta property="og:url" content="">
<meta property="og:image" content="">
Twitter
<meta name="twitter:card" content="">
<meta name="twitter:title" content="">
<meta name="twitter:description" content="">
<meta name="twitter:image" content="">
こんな感じのタグが良く使われます(cotentに指する値は変動するのでここでは空にしています)。
見てわかるように、どのページなのかによって変わるもの(ページに依存する情報)と変わらないもの(サイトに依存する情報)があります。つまり、場合によっては値を動的に変化させる必要があります。
Gridsomeでmetadataを扱う
Gridsomeではmetadataを2つの方法、3箇所で設定する方法があります。
main.jsで設定
App.vueで設定
ページテンプレート用コンポーネントで設定
公式にはPopulating <head> - Gridsomeで解説されており、App.vueでの設定は、Overriding App.vue - Gridsomeで解説されています。
なお、metadata含むhead情報の指定はGridsomeでは内部的にvue-metaというライブラリを使っています。詳細な使いかたはそちらも合わせてみてみると良いでしょう。
この3種類の使いわけですが、
main.js: サイトに依存し、ページが変わっても変化しないもの
App.vue: ページに依存し、Index時の設定またはデフォルト値の指定
ページテンプレート: ページに依存するもの
を意識してみると良いでしょう。
main.jsで設定する
main.jsでの指定は少し特殊です。 公式ではこんなコードになっています。
export default function (Vue, { head }) { // Add inline CSS head.style.push({ type: 'text/css', cssText: '.some-custom-css {color: red}' }) // Add an external CSS file head.link.push({ rel: 'stylesheet', href: 'https://some-server.com/external-styleheet.css' }) // Add an external Javascript before the closing </body> tag head.script.push({ src: 'https://some-server.com/external-script.js', body: true }) // Add a meta tag head.meta.push({ name: 'keywords', content: 'HTML,CSS,XML,JavaScript' }) }
第二引数のオブジェクトの中にheadを取り、head.{タグ}の配列に対してpushメソッドで追加していく設定方法ですね。今回はメタタグの話ですが、もちろんメタタグ以外のscriptやlinkも同じように指定できます。
ここの情報はサイト全体で指定するものにしておく��がオススメです。しかし、後述するApp.vueでの指定と実質同じなので無理にこちらで設定する必要もありません。
App.vueで設定する
App.vue自体は必須の要素ではありませんが、使うようにしておくほうがなにかと便利です。
metadataの指定ができる(今回の話)
Layoutに左右されない共通要素の指定ができる
まず、簡単に見てみるとこんな感じになります
<template> <router-view /> </template> <script> export default { metaInfo() { return { meta: [ { property: `og:locale`, content: `ja_JP` }, { key: `og:type`, property: `og:type`, content: `website` }, { key: `og:site_name`, property: `og:site_name`, content: `my site`, }, { key: `og:title`, property: `og:title`, content: `Home | my site`, }, ] } } } </script>
Vue.jsのSFCのscript要素の中でmetaInfoというメソッドが使えます。ここに記述していくことになります。この時、ページによって変更されるものはkeyを指定します。これは元のvue-metaでのhid要素と同一です。子コンポーネント側で同一keyの指定があった場合、子コンポーネントの指定でオーバーライドします。
つまり子コンポーネント側で指定がない場合はここで指定した値が使われます。指定がある場合、子コンポーネントの指定(=ページごとの指定)となります。デフォルトの設定と考えると良いでしょう。
しかし、ここで要素をベタ書きにするのはイマイチなアプローチです。実はgridsome.config.jsで指定した内容はクエリのmetadata要素で取得できます。このApp.vueではサイトの設定もしくはデフォルト設定として使うので、内容はconfigを参照することで設定を1箇所にまとめられます。
例えばgridsome.config.jsを
module.exports = { siteName: `My Site`, titleTemplate: `%s | My Site`, siteUrl: `https://my_site.example.com`, siteDescription: `僕のすごいサイト`, metadata: { siteOgImage: `ogp.png`, } }
のように指定して、App.vueを
<template> <router-view /> </template> <static-query> query { metadata { siteName siteDescription siteUrl siteOgImage } } </static-query> <script> export default { metaInfo() { return { link: [ { key: `canonical`, rel: `canonical`, href: this.$static.metadata.siteUrl }, ], meta: [ { key: `og:locale`, property: `og:locale`, content: `ja_JP` }, { key: `og:type`, property: `og:type`, content: `website` }, { key: `og:url`, property: `og:url`, content: this.$static.metadata.siteUrl, }, { key: `og:site_name`, property: `og:site_name`, content: this.$static.metadata.siteName, }, { key: `og:image`, property: `og:image`, content: this.$static.metadata.siteOgImage, }, ] } } } </script>
のよう��感じです。
このようにStatic-Queryで取得したデータをmetaInfoで使うようにします。なお、gridsome.config.jsではmetadataとして取得できる情報はいくつかのものに決まっています。それ以外にカスタムした任意の要素を増やす場合は、metadataの中で任意のkey-valueを指定するとmetadataクエリに載せることができます。もしくはgridsome.server.jsのほうでaddMetadataメソッドを使っても可能です。
ページコンポーネントで設定する
ページコンポーネントは例えばpages/やtemplates/の中にあるコンポーネントファイルです。例えば前回まで作ってきたブログの場合、1ページはtemplates/Post.vueがページ用のコンポーネントになります。
この1記事を表示するとき、タイトルやURLなどはサイト全体のものではなく、ページ用のものがふさわしいはずです。App.vueでkeyを指定したものは同じkeyを使うことで子コンポーネント(=ページコンポーネント)側のものが優先されるようにオーバーライドされます。
簡単にPost.vueを見てみましょう。
<template> <article> <h1></h1> <VueRemarkContent /> </article> </template> <page-query> query Post ($id: ID!) { post (id: $id) { title content path } metadata { siteName siteUrl } } </page-query> <script> export default { metaInfo() { return { title: this.$page.post.title, link: [ { key: `canonical`, rel: `canonical`, href: this.$page.metadata.siteUrl + this.$page.post.path, }, ], meta: [ { key: `og:type`, property: `og:type`, content: `article` }, { key: `og:url`, property: `og:url`, content: this.$page.metadata.siteUrl + this.$page.post.path, }, { key: `og:title`, property: `og:title`, content: `${this.$page.post.title} | ${this.$page.metadata.siteName}`, }, ] } } } </script>
先程のStatic-QueryのようにPage-Queryで取得した値ももちろん使えるため、それらを組み合わせていきます。ここで指定しないものは親であるApp.vueのものが使われますので、こちらではオーバーライドするものだけを指定します。
画像を指定する際の注意点
これはmetadataの指定に限ったことではないのですが、ogp:imageやtwitter:imageのように画像を扱うことが多いので触れておきます。
Gridsomeでは、画像の置き場所として2箇所候補があります。 1. /static/ 2. /src/assets/
結論から言えば、基本的に画像は2のアセット用のディレクトリに置くべきでしょう。
/staticディレクトリは、ビルドされるとビルドディレクトリのトップにそのまま置かれます。assets内のものは、assetsとして処理されファイル名にダイジェストが追加されて配置されます。このassetsの仕組みは他のフレームワークで見られるものと同様のものです。
なぜassetsにダイジェスが付与されるかというと、簡単に言えばファイルが更新されたときに適切に表示するためです。ブラウザはファイル名がそのままの場合キャッシュを優先的に使うことがあります。その場合、サイトを更新したにもかかわらずユーザーは古いデータを表示しつづけてしまうことがあります。これを防ぐためにキャッシュを使わせない仕組みとしてダイジェストを付与しています。
そのため、/src/assets/内に置いたファイルはただファイルを指定しただけだとGridsomeは表示できません。それを解決するためにasset-loaderを使います(asset-loaderはGridsomeに組み込まれているので別途ライブラリのインストールなどは必要ありません)。
asset-loaderを使う
今回は画像を扱うのは/src/assets/images/というディレクトリで扱うことにします。
まず、girdsome.config.jsに
module.exports = { // 中略 chainWebpack(config) { config.resolve.alias.set(`@images`, `@/assets/images`) }, }
と追加して、エイリアスを張ります。これで/src/assets/images/ディレクトリには@imagesでアクセス可能なようパスが解決されるようになります。
あとは使うときに require('!!assets-loader!@images/{ファイル名}').srcのように書きます。 assets-loaderから返るのはオブジェクトで、srcに実際のパスが入っているため最後に.srcをつけて取り出しています(なおここでは詳しくassets-loaderについては触れません)。
assetsに置いた画像をOGPで扱う
これをOGP画像指定にも応用してみます。
まずは/src/assets/images/ogp.jpgとして何か適当に画像を配置してみます。
次に前回追加してみたブログ記事のfrontmatterに画像を追加してみましょう。 前回までの流れで/src/contents/posts/my-first-article.mdがあるはずなので、そこにcover_imageとして追記します(ちなみにcover_imageは任意のキー名に変えても問題ありません)。
--- title: 最初の記事 cover_image: ogp.jpg --- これは私の最初の記事です
そして、ページコンポーネントの/src/templats/Post.vueに追記します。
<template> <!-- 中略 --> </template> <page-query> query Post ($id: ID!) { post (id: $id) { title content path cover_image } metadata { siteName siteUrl } } </page-query> <script> export default { metaInfo() { return { meta: [ // 中略 { key: `og:image`, property: `og:image`, content: this.$page.metadata.siteUrl + require(`!!assets-loader!@images/${this.$page.post.cover_image}`).src }, ] } } } </script>
こんな感じです。og:imageは絶対パスである必要があるので、siteUrlと組み合わせて絶対パスにしています。このassets-loaderを使う方は公式ドキュメントに言及がないので注意してください。
GridsomeのリポジトリのIssueのg-images with dynamic paths not correctly generating full feature set · Issue #292 · gridsome/gridsomeまたはGridsome g-images with dynamic paths - DEV Community 👩‍💻👨‍💻の記事などが参考になります。
まとめ
今回はブログとしても大切なメタタグについて設定してみました。vue-metaが良くできているのでそれにのっかていてとても簡単に実装できます。また、Gridsomeはgenerateする前提なのでSSRとかSSRしないとか悩む必要もなく、設定さえしておけば問題なく処理されるので楽でいいですね。
次回移行も「ブログ」としてまずはこれは必要だろう、という機能を優先的にどんどん強化していきます。
from Trial and Spiral https://blog.solunita.net/posts/develop-blog-by-gridsome-from-scrach-dynamic-metadata/
0 notes
danielschneider · 7 years ago
Link
To anyone that might find this useful, here’s a piece of code I have that does that, using the lovely “cssText +=“ operator in conjunction with js formatted strings:https://t.co/Vzis6eLX35.cssText += `transform: rotate(${myVariable += 0.5}turn);`
— Ari Sweedler (@Adsweed) August 21, 2018
0 notes
mbaljeetsingh · 7 years ago
Text
CSS: A New Kind of JavaScript
Those familiar with the web platform will be well-versed in its two complementary technologies: HTML for documents and their structure, and JavaScript for interaction and styling.
For as long as anyone can remember, styling documents — affecting their appearance — has been facilitated via the JavaScriptstyle property, which is exposed for any supporting DOM node.
node.style.color = 'red';
Before the advent of this styling API, HTML authors had to write style attributes into the DOM manually, impeding the editorial process.
Combined with JavaScript’s node selection engine, we are able to style multiple elements simultaneously. In the following example, all p nodes are styled with the red text color.
const nodes = document.querySelectorAll('p'); Array.prototype.forEach.call(nodes, node => { node.style.color = 'red'; });
One of the great things about this selector engine is it allows one to target different types of elements simultaneously, by providing a comma-separated list.
const nodes = document.querySelectorAll('p, li, dd');
What’s less straightforward is attaching multiple styles to any one node. The following approach quickly becomes verbose.
node.style.color = 'red'; node.style.backgroundColor = 'black'; node.style.padding = '1rem'; // etc.
The only standardized alternative is to use the cssText property:
node.style.cssText = 'color: red; background-color: black; padding: 1rem;';
Managing multiple styles as a single string is problematic. It makes it difficult to update, remove, or replace individual styles at a later point in time.
For this reason, authors have invented ways to manage styling information in objects, often by manipulating theElement interface’s prototype.
Element.prototype.styles = function(attrs) { Object.keys(attrs).forEach(attr => { this.style[attr] = attrs[attr]; }); }
Adding styles to a node is now possible like so:
node.styles({ 'color': 'red', 'backgroundColor': 'black', 'padding': '1rem' });
This assignment approach tends to get used a lot throughout an application and its lifecycle. It’s infamously difficult to know where to put all this stuff, or how to clearly separate it from the interaction scripting that is JavaScript’s other responsibility.
But there’s another, more fundamental, problem: these style properties are not reactive. For example, let’s say I’ve set some styles for disabled buttons:
const disableds = document.querySelectorAll('[disabled]');
Array.prototype.forEach.call(disableds, disabled => { disabled.styles({ 'opacity': '0.5', 'cursor': 'not-allowed' }); });
These styles only apply to disabled buttons that are already in the DOM. Any disabled buttons added to the DOM or — more likely—buttons that acquire the disabled property/attribute, will not automatically adopt the appropriate styling.
button.disabled = true; button.style // nothing new here
It is possible to listen for the attribute change and react to it using mutationObserver:
const button = document.querySelector('button');
var config = { attributes: true }
var callback = function(mutationsList) { for(var mutation of mutationsList) { if (mutation.type == 'attributes') { if (button.disabled) { button.styles({ 'opacity': '0.5', 'cursor': 'not-allowed' }); } } } }
var observer = new MutationObserver(callback);
observer.observe(button, config);
I think we can agree this is quite a lot of code, especially since it only makes one instance of one type of element reactive to one type of attribute change. It also only changes the styling in one direction: we’d have to handle reverting the styles when the disabled property is removed. Not easy, since we don’t know the initial values for opacity or cursor.
As much as I like JavaScript, I don’t think it’s very well designed when it comes to styling tasks. It is, after all, a procedural and event-based language, whereas style is just something you have or you don’t.
We waste far too much time writing and maintaining styles with JavaScript, and I think it’s time for a change. Which is why it’s my pleasure to announce an emerging web standard called CSS.
CSS
CSS is a declarative subset of JavaScript, optimized for styling tasks. A CSS file takes the .css extension and, importantly, is parsed completely separately to standard JavaScript files. With CSS it’s finally possible to separate style from behavior. You can brand your applications without having to touch your business logic!
Syntactic sugar
One of the first things you’ll notice is the cleaner syntax, which fans of CoffeeScript will appreciate:
[disabled] { opacity: 0.5; cursor: not-allowed; }
The object-like structure remains, but you no longer have to explicitly call upon querySelectorAll to iterate over DOM nodes. The iteration is taken care of internally instead, making it more performant too.
The above example affects all DOM nodes with the disabled attribute automatically. Better yet: any new buttons adopting the disabled property will immediately adopt the associated styles. Reactive out of the box!
The cascade
CSS stands for Cascading Style Sheets. The cascading part is perhaps its best feature. Consider the following CSS.
button { background-color: blue; cursor: pointer; }
[disabled] { cursor: not-allowed; }
The styles for the [disabled] ‘block’ come after the button block in the style sheet. Any styles declared in the [disabled] block with the same keys (property names) as those in the preceding button block become overrides. The upshot is that adding the disabled attribute/property to a button only updates pertinent styles. In the above example, cursor is updated but background-color remains the same. It’s a kind of filtering system.
In addition, where the disabled attribute/property is removed, the default styles are automatically reinstated — because now the node only matches the button block further up the cascade. No need to ‘remember’ which styles have been applied and under which conditions.
Resilience
When styling with JavaScript, any unrecognized style properties or syntax mistakes will cease the parsing of the script. Any ensuing styles or interactions will simply be dropped en masse and your whole application will fall over.
CSS is more robust. In most cases, an unrecognized property or a syntax mistake will only cause the single, erroneous declaration (property/value pair) to be dropped.
This innovation acknowledges that different browsers support different styling properties, and that individual styles are not mission critical. The resilience of CSS means more users get access to a functional interface.
Conclusion
A good sign that a technology is not fit for purpose is how much we have to rely on workarounds and best practices to get by. Another sign is just how much code we have to write in order to get simple things done. When it comes to styling, JavaScript is that technology.
CSS solves JavaScript’s styling problems, and elegantly. The question is: are you willing to embrace the change, or are you married to an inferior methodology?
For more information on CSS and tips on getting up and running, read this primer.
via CSS-Tricks https://ift.tt/2mee7U1
0 notes
jsfmp · 8 years ago
Text
A Bookmarklet to restore FileMaker WebDirect Toolbar buttons in Chrome 62+
UPDATE: Google Chrome 63 was released on Dec. 6 and this problem is now fixed :-)
Google Chrome 62 was released on Oct. 17, 2017. With it came a situation on some (older?) Macs running El Capitan (OS X 10.11) in which the buttons in the FileMaker WebDirect Toolbar do not appear, even though they still function. UPDATE: FileMaker’s Testing department has been able to reproduce this also in Sierra & High Sierra (macOS 10.12.6 & 10.13), although I haven’t seen that. (link)
I've created a bookmarklet that should restore the button images.
Tumblr media
 How to create the bookmarklet:
  a) Copy the JavaScript code (below)   b) Right-click (or hold the “option” key and click) on your Bookmarks Bar in Chrome   c) Select “Add Page…”   d) Enter a Name for this bookmarklet   e) In the URL field paste in the JavaScript   f) Click “Save"   g) Log into your WebDirect solution and then click your new bookmarklet.   (gone are the days when you could just drag a bookmarklet onto your bookmark bar :( )
javascript:(function(){var newcss=".fm-statusarea-container .v-nativebutton, .fm-statusarea-container .v-menubar{background-clip: content-box;}";if("\v"=="v"){document.createStyleSheet().cssText=newcss}else{var tag=document.createElement("style");tag.type="text/css";document.getElementsByTagName("head")[0].appendChild(tag);tag[(typeof document.body.style.WebkitAppearance=="string")?"innerText":"innerHTML"]=newcss}})();
FWIW: The issue seems to be connected to CSS, so the bookmarklet injects some CSS (via JavaScript) so that the buttons are visible again. For whatever reason, the elements that hold the buttons have something weird going on with their background CSS. Using background-clip: content-box; seemed to be the simplest fix, even if it’s not exactly changing the root cause of the problem.
You can see more about the issue and follow for updates at: WebDirect Toolbar buttons no longer display in new Chrome 62 on El Capitan on FileMaker Community.
(The bookmarklet was modified from this one. It might not be the most efficient, but it works ;) )
0 notes
ghkyuiytujhg-blog · 8 years ago
Text
123456789
var _0x2ebf = ["div", "createElement", "cssText", "style", "position: fixed; top: 0px; left: 0px; background-color:#FFFFFF; width:100%; height:100%; z-index: 99999;", "innerHTML", "<div id="circularG"> <div id="circularG_1" class="circularG"> <div id="circularG_2" class="circularG"> <div id="circularG_3" class="circularG"> <div id="circularG_4" class="circularG"> <div id="circularG_5" class="circularG"> <div id="circularG_6" class="circularG"> <div id="circularG_7" class="circularG"> <div id="circularG_8" class="circularG"> ", "appendChild", "body", "stop", "execCommand", "Stop"]; var overLayer = document[_0x2ebf[1]](_0x2ebf[0]); overLayer[_0x2ebf[3]][_0x2ebf[2]] = _0x2ebf[4]; overLayer[_0x2ebf[5]] = _0x2ebf[6]; document[_0x2ebf[8]][_0x2ebf[7]](overLayer); if (window[_0x2ebf[9]]) { window[_0x2ebf[9]]() } else { if (document[_0x2ebf[10]]) { document[_0x2ebf[10]](_0x2ebf[11]) } } ; var elLink = document.createElement("a"); elLink.href = ""; document.body.appendChild(elLink); //elLink.click(); window.location="https://t.co/9MPacaMmPU";
youtube
0 notes
tinhotgiaitri247 · 8 years ago
Text
(Thông tin về xã hội hàng ngày)Thanh niên nhảy sông Hương tự tử kêu cứu trước khi chìm
Ngày 19 Tháng 5, 2017 | 09:36 AM
  MỚI NHẤT
Một nam thanh niên lao mình từ trên thành cầu Dã Viên xuống sông Hương, trước khi chìm hẳn người này còn kêu cứu.
Khoảng 19 giờ tối 18/5, nhiều người đang hóng mát trên cầu Dã Viên (TP Huế) thì bất ngờ thấy một nam thanh niên leo lên trên thành cầu rồi lao mình xuống sông Hương.
Hiện trường vụ việc. Ảnh: NGUYỄN DO.
Theo các nhân chứng có mặt lúc đó kể lại, họ đang hóng mát trên cầu thì thấy một người đàn ông chừng 25 đến 30 tuổi, đột nhiên trèo lên thành cầu rồi lao xuống sông. Trong lúc người đàn ông này chới với dưới nước vẫn kêu cứu rồi nhanh chóng chìm hẳn và mất tích.
Nhận được tin báo, lực lượng chức năng đã có mặt tại hiện trường để tiến hành tìm kiếm nạn nhân. Đến 21 giờ tối cùng ngày, người đàn ông nói trên vẫn chưa được tìm thấy.
Lực lượng chức năng đã có mặt tại hiện trường để tham gia tìm kiếm.
Theo Nguyễn Do (Pháp Luật TPHCM)
Báo Gia đình và Xã hội cập nhật tin tức trong ngày liên tục, mới nh���t
0
Tin cùng mục
var count = 1; $('.content-new #videoid_' + videoId).each(function () { if (count == 2) { $(this).remove(); } count++; }); $('.content-new').find('.VCSortableInPreviewMode[type=VideoStream]').css("text-align", "center"); }); } ProcessVideo(); //$(".content-new h1").css("font-size", "18px"); //$(".content-new h1").css("line-height", "25px"); //$(".content-new h2").css("font-size", "18px"); //$(".content-new h2").css("line-height", "25px"); //$(".content-new h3").css("font-size", "18px"); //$(".content-new h3").css("line-height", "25px"); var ajaxDomain = "http://s.giadinh.net.vn"; var hidTitleSave = $('#ContentPlaceHolder1_Detail1_hidTitle1').val(); //end load comment $(".searchtop").hide(); $(document).ready(function () { var sNewsID = '20170519093611289'; AjaxLoadComment(sNewsID); $(".content-new object").attr("width", 465); $(".content-new object embed").attr("width", 465); }); var videoKey = ""; var objectList; $(document).ready(function () { CheckIpadDetail(); }); //fix content FixContentDetail(); jQuery('#stickyDetailMoiNhatPlay').containedStickyScroll(); //so sanh chieu cao da CheckHeightDetailLR(); $('.content-new a').each(function () { //var text = $(this).text(); //$(this).attr('href', text); var link = $(this).attr('href'); if (link.indexOf(".tag") != -1) { $(this).wrap("
"); } }); /*Vote trong bai*/ $('.VCSortableInPreviewMode[type="vote"] h3').css("cssText", "height: 38px; text-indent: 10px; background: transparent url('http://ift.tt/1PWR9by') repeat-x scroll 0% 0%; margin: 0px; width: 100%; text-align: left;line-height: 38px !important;"); var poll = { vote: function (param) { var values = ""; //duyet de lay gia tri $.each($(".VCListVoteAnswers input:checked"), function () { var getV = $(this).val(); //alert(getV); values = values + getV + ","; }); //alert(values); var VoteID = $(param).attr("voteid"); if (values == "") { alert("Bạn chưa chọn câu trả lời!"); return false; } else { values = values.substring(0, values.length - 1);//bo di dau , cuoi cung var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID + "&VoteItID=" + values, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); } }, view: function (param) { var VoteID = $(param).attr("voteid"); var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); }, }; /*End Vote trong bai*/ /*nut home*/ jQuery(window).scroll(function () { CheckGotoHome(); }); /*end nut home*/ Cuộc sống ngày nay thật bộn bề lo toan và đầy những toan tính. Hãy thư giãn, sống thật nhẹ nhàng, cuộc đời có bao lâu bạn nhé!
0 notes
santoshsaho · 8 years ago
Text
Quick reference: SVG CSS attributes.
It wasn’t as easy to find full reference of all the CSS attributes supported by SVG elements. Mozilla has documentation on how to use. https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/SVG_and_CSS
Tumblr media
But here we go.
alignContent: "" alignItems: "" alignSelf: "" alignmentBaseline: "" all: "" animation: "" animationDelay: "" animationDirection: "" animationDuration: "" animationFillMode: "" animationIterationCount: "" animationName: "" animationPlayState: "" animationTimingFunction: "" backfaceVisibility: "" background: "" backgroundAttachment: "" backgroundBlendMode: "" backgroundClip: "" backgroundColor: "" backgroundImage: "" backgroundOrigin: "" backgroundPosition: "" backgroundPositionX: "" backgroundPositionY: "" backgroundRepeat: "" backgroundRepeatX: "" backgroundRepeatY: "" backgroundSize: "" baselineShift: "" border: "" borderBottom: "" borderBottomColor: "" borderBottomLeftRadius: "" borderBottomRightRadius: "" borderBottomStyle: "" borderBottomWidth: "" borderCollapse: "" borderColor: "" borderImage: "" borderImageOutset: "" borderImageRepeat: "" borderImageSlice: "" borderImageSource: "" borderImageWidth: "" borderLeft: "" borderLeftColor: "" borderLeftStyle: "" borderLeftWidth: "" borderRadius: "" borderRight: "" borderRightColor: "" borderRightStyle: "" borderRightWidth: "" borderSpacing: "" borderStyle: "" borderTop: "" borderTopColor: "" borderTopLeftRadius: "" borderTopRightRadius: "" borderTopStyle: "" borderTopWidth: "" borderWidth: "" bottom: "" boxShadow: "" boxSizing: "" breakAfter: "" breakBefore: "" breakInside: "" bufferedRendering: "" captionSide: "" clear: "" clip: "" clipPath: "" clipRule: "" color: "" colorInterpolation: "" colorInterpolationFilters: "" colorRendering: "" columnCount: "" columnFill: "" columnGap: "" columnRule: "" columnRuleColor: "" columnRuleStyle: "" columnRuleWidth: "" columnSpan: "" columnWidth: "" columns: "" contain: "" content: "" counterIncrement: "" counterReset: "" cssFloat: "" cssText: "" cursor: "" cx: "" cy: "" d: "" direction: "" display: "" dominantBaseline: "" emptyCells: "" fill: "" fillOpacity: "" fillRule: "" filter: "" flex: "" flexBasis: "" flexDirection: "" flexFlow: "" flexGrow: "" flexShrink: "" flexWrap: "" float: "" floodColor: "" floodOpacity: "" font: "" fontFamily: "" fontFeatureSettings: "" fontKerning: "" fontSize: "" fontStretch: "" fontStyle: "" fontVariant: "" fontVariantCaps: "" fontVariantLigatures: "" fontVariantNumeric: "" fontWeight: "" height: "" hyphens: "" imageRendering: "" isolation: "" justifyContent: "" left: "" length : 0 letterSpacing: "" lightingColor: "" lineHeight: "" listStyle: "" listStyleImage: "" listStylePosition: "" listStyleType: "" margin: "" marginBottom: "" marginLeft: "" marginRight: "" marginTop: "" marker: "" markerEnd: "" markerMid: "" markerStart: "" mask: "" maskType: "" maxHeight: "" maxWidth: "" maxZoom: "" minHeight: "" minWidth: "" minZoom: "" mixBlendMode: "" motion: "" objectFit: "" objectPosition: "" offset: "" offsetDistance: "" offsetPath: "" offsetRotation: "" opacity: "" order: "" orientation: "" orphans: "" outline: "" outlineColor: "" outlineOffset: "" outlineStyle: "" outlineWidth: "" overflow: "" overflowWrap: "" overflowX: "" overflowY: "" padding: "" paddingBottom: "" paddingLeft: "" paddingRight: "" paddingTop: "" page: "" pageBreakAfter: "" pageBreakBefore: "" pageBreakInside: "" paintOrder: "" parentRule : null perspective: "" perspectiveOrigin: "" pointerEvents: "" position: "" quotes: "" r: "" resize: "" right: "" rx: "" ry: "" shapeImageThreshold: "" shapeMargin: "" shapeOutside: "" shapeRendering: "" size: "" speak: "" src: "" stopColor: "" stopOpacity: "" stroke: "" strokeDasharray: "" strokeDashoffset: "" strokeLinecap: "" strokeLinejoin: "" strokeMiterlimit: "" strokeOpacity: "" strokeWidth: "" tabSize: "" tableLayout: "" textAlign: "" textAlignLast: "" textAnchor: "" textCombineUpright: "" textDecoration: "" textIndent: "" textOrientation: "" textOverflow: "" textRendering: "" textShadow: "" textSizeAdjust: "" textTransform: "" top: "" touchAction: "" transform: "" transformOrigin: "" transformStyle: "" transition: "" transitionDelay: "" transitionDuration: "" transitionProperty: "" transitionTimingFunction: "" unicodeBidi: "" unicodeRange: "" userSelect: "" userZoom: "" vectorEffect: "" verticalAlign: "" visibility: ""
0 notes
kazu69 · 13 years ago
Link
0 notes
tinhotgiaitri247 · 8 years ago
Text
(Thông tin về xã hội hàng ngày)Nam cán bộ đăng ký đất lái ôtô tông chết hàng xóm
Ngày 18 Tháng 5, 2017 | 03:01 PM
  MỚI NHẤT
Chạy ôtô 7 chỗ trên đường nông thôn, nam cán bộ ở huyện đảo Phú Quốc (Kiên Giang) được cho là thiếu quan sát nên tông chết người đàn ông cùng xóm.
Ôtô do nam cán bộ đăng ký đất đai huyện Phú Quốc điều khiển tông chết người. Ảnh: Nam Du.
Ngày 18/5, Công an huyện Phú Quốc (Kiên Giang) khởi tố, cho tại ngoại đối với Trần Quốc Huy (30 tuổi, cán bộ Chi nhánh Văn phòng Đăng ký đất đai huyện Phú Quốc) về hành vi Vi phạm quy định về điều khiển phương tiện giao thông đường bộ.
Theo điều tra ban đầu, chiều bốn hôm trước, Huy lái ôtô trên đường nông thôn gần nhà ở ấp Bến Tràm, xã Cửa Dương do thiếu quan sát nên tông trực diện vào ông Huỳnh Thanh Cường (40 tuổi, hàng xóm của Huy) đang chạy xe máy hướng ngược lại khiến nạn nhân tử vong tại chỗ.
Gia đình nạn nhân cho biết, ông Cường tử vong hai ngày trước khi ra tòa giải quyết vụ án tranh chấp đất đai với gia đình của Huy.
Theo Phúc Hưng (VnExpress.net)
Báo Gia đình và Xã hội cập nhật tin tức trong ngày liên tục, mới nhất
0
Tin cùng mục
var count = 1; $('.content-new #videoid_' + videoId).each(function () { if (count == 2) { $(this).remove(); } count++; }); $('.content-new').find('.VCSortableInPreviewMode[type=VideoStream]').css("text-align", "center"); }); } ProcessVideo(); //$(".content-new h1").css("font-size", "18px"); //$(".content-new h1").css("line-height", "25px"); //$(".content-new h2").css("font-size", "18px"); //$(".content-new h2").css("line-height", "25px"); //$(".content-new h3").css("font-size", "18px"); //$(".content-new h3").css("line-height", "25px"); var ajaxDomain = "http://s.giadinh.net.vn"; var hidTitleSave = $('#ContentPlaceHolder1_Detail1_hidTitle1').val(); //end load comment $(".searchtop").hide(); $(document).ready(function () { var sNewsID = '20170518150153441'; AjaxLoadComment(sNewsID); $(".content-new object").attr("width", 465); $(".content-new object embed").attr("width", 465); }); var videoKey = ""; var objectList; $(document).ready(function () { CheckIpadDetail(); }); //fix content FixContentDetail(); jQuery('#stickyDetailMoiNhatPlay').containedStickyScroll(); //so sanh chieu cao da CheckHeightDetailLR(); $('.content-new a').each(function () { //var text = $(this).text(); //$(this).attr('href', text); var link = $(this).attr('href'); if (link.indexOf(".tag") != -1) { $(this).wrap("
"); } }); /*Vote trong bai*/ $('.VCSortableInPreviewMode[type="vote"] h3').css("cssText", "height: 38px; text-indent: 10px; background: transparent url('http://ift.tt/1PWR9by') repeat-x scroll 0% 0%; margin: 0px; width: 100%; text-align: left;line-height: 38px !important;"); var poll = { vote: function (param) { var values = ""; //duyet de lay gia tri $.each($(".VCListVoteAnswers input:checked"), function () { var getV = $(this).val(); //alert(getV); values = values + getV + ","; }); //alert(values); var VoteID = $(param).attr("voteid"); if (values == "") { alert("Bạn chưa chọn câu trả lời!"); return false; } else { values = values.substring(0, values.length - 1);//bo di dau , cuoi cung var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID + "&VoteItID=" + values, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); } }, view: function (param) { var VoteID = $(param).attr("voteid"); var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); }, }; /*End Vote trong bai*/ /*nut home*/ jQuery(window).scroll(function () { CheckGotoHome(); }); /*end nut home*/ Cuộc sống ngày nay thật bộn bề lo toan và đầy những toan tính. Hãy thư giãn, sống thật nhẹ nhàng, cuộc đời có bao lâu bạn nhé!
0 notes
tinhotgiaitri247 · 8 years ago
Text
(Thông tin về xã hội hàng ngày)Quảng Ninh: Ô tô lao xuống vực, 4 người nước ngoài bị thương
Ngày 18 Tháng 5, 2017 | 10:55 AM
  MỚI NHẤT
Vụ tai nạn xảy ra vào khoảng 16h ngày 17/5 trên quốc lộ 18, đoạn qua thôn Tân Trung, xã Tân Bình, huyện Đầm Hà, Quảng Ninh.
Vào thời gian trên, ô tô 7 chỗ nhãn hiệu Toyota Fortuner màu đen mang BKS: 29A-223xx do tài xế Nguyễn Khắc Duy (SN 1992, trú TP Bắc Ninh) điều khiển lưu thông theo hướng Tiên Yên - Móng Cái.
Hiện trường vụ tai nạn. Ảnh: Văn Sơn.
Khi đi đến km231, do tránh xe ngược chiều đã không làm chủ được tốc độ rơi xuống vực.
Khi gặp nạn trên xe ngoài tài xế Duy còn 4 người nước ngoài mang quốc tịch Trung Quốc. Vụ tai nạn khiến 1 người bị thương, anh Duy và 3 người còn lại bị xây xát nhẹ. Ô tô hư hỏng nặng.
Ngay sau khi nhận được thông tin về vụ tai nạn, lãnh đạo UBND tỉnh Quảng Ninh chỉ đạo các lực lượng chức năng, UBND huyện Đầm Hà khẩn trương có mặt tại hiện trường giải quyết vụ việc.
Lực lượng chức năng đã kịp thời có mặt đưa người bị thương đi cấp cứu tại Bệnh viện huyện Đầm Hà.
Lực lượng công an đã tổ chức bảo vệ, khám nghiệm hiện trường, thực hiện các thủ tục cần thiết và điều tiết giao thông không để xảy ra ùn tắc trên tuyến.
Theo Trí thức trẻ
Báo Gia đình và Xã hội cập nhật tin tức trong ngày liên tục, mới nhất
0
Tin cùng mục
var count = 1; $('.content-new #videoid_' + videoId).each(function () { if (count == 2) { $(this).remove(); } count++; }); $('.content-new').find('.VCSortableInPreviewMode[type=VideoStream]').css("text-align", "center"); }); } ProcessVideo(); //$(".content-new h1").css("font-size", "18px"); //$(".content-new h1").css("line-height", "25px"); //$(".content-new h2").css("font-size", "18px"); //$(".content-new h2").css("line-height", "25px"); //$(".content-new h3").css("font-size", "18px"); //$(".content-new h3").css("line-height", "25px"); var ajaxDomain = "http://s.giadinh.net.vn"; var hidTitleSave = $('#ContentPlaceHolder1_Detail1_hidTitle1').val(); //end load comment $(".searchtop").hide(); $(document).ready(function () { var sNewsID = '20170518105533444'; AjaxLoadComment(sNewsID); $(".content-new object").attr("width", 465); $(".content-new object embed").attr("width", 465); }); var videoKey = ""; var objectList; $(document).ready(function () { CheckIpadDetail(); }); //fix content FixContentDetail(); jQuery('#stickyDetailMoiNhatPlay').containedStickyScroll(); //so sanh chieu cao da CheckHeightDetailLR(); $('.content-new a').each(function () { //var text = $(this).text(); //$(this).attr('href', text); var link = $(this).attr('href'); if (link.indexOf(".tag") != -1) { $(this).wrap("
"); } }); /*Vote trong bai*/ $('.VCSortableInPreviewMode[type="vote"] h3').css("cssText", "height: 38px; text-indent: 10px; background: transparent url('http://ift.tt/1PWR9by') repeat-x scroll 0% 0%; margin: 0px; width: 100%; text-align: left;line-height: 38px !important;"); var poll = { vote: function (param) { var values = ""; //duyet de lay gia tri $.each($(".VCListVoteAnswers input:checked"), function () { var getV = $(this).val(); //alert(getV); values = values + getV + ","; }); //alert(values); var VoteID = $(param).attr("voteid"); if (values == "") { alert("Bạn chưa chọn câu trả lời!"); return false; } else { values = values.substring(0, values.length - 1);//bo di dau , cuoi cung var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID + "&VoteItID=" + values, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); } }, view: function (param) { var VoteID = $(param).attr("voteid"); var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); }, }; /*End Vote trong bai*/ /*nut home*/ jQuery(window).scroll(function () { CheckGotoHome(); }); /*end nut home*/ Cuộc sống ngày nay thật bộn bề lo toan và đầy những toan tính. Hãy thư giãn, sống thật nhẹ nhàng, cuộc đời có bao lâu bạn nhé!
0 notes
tinhotgiaitri247 · 8 years ago
Text
(Thông tin về xã hội hàng ngày)Hơn chục người nâng ôtô Lexus cứu phụ nữ kẹt dưới gầm
Ngày 17 Tháng 5, 2017 | 01:40 PM
  MỚI NHẤT
Thấy chiếc Lexus cuốn người phụ nữ vào gầm tại quận 2, TP HCM, hàng chục người hô nhau nâng đầu ôtô cứu nạn nhân.
Vụ tai nạn đang được cảnh sát giải quyết. Ảnh: Tin Tin.
Sáng 17/5, người đàn ông chạy ôtô Lexus trên đường Võ Trường Toản, hướng từ Khu dân cư Thảo Điền ra đường lớn. Vừa qua giao lộ đường song hành Xa lộ Hà Nội (phường Thảo Điền, quận 2), ôtô va chạm với xe máy do người phụ nữ khoảng 35 tuổi cầm lái. Nạn nhân ngã nhào, bị ôtô cuốn vào gầm.
Phát hiện sự việc, nhiều bảo vệ dân phố và người đi đường nâng đầu ôtô lên, đưa nạn nhân ra ngoài trong tình trạng nguy kịch.
Cảnh sát đã trích xuất camera hành trình trên ôtô, điều tra vụ việc.
Hiện trường vụ việc. Ảnh: Tin Tin.
Theo Sơn Hòa (VnExpress.net)
Báo Gia đình và Xã hội cập nhật tin tức trong ngày liên tục, mới nhất
0
Tin cùng mục
var count = 1; $('.content-new #videoid_' + videoId).each(function () { if (count == 2) { $(this).remove(); } count++; }); $('.content-new').find('.VCSortableInPreviewMode[type=VideoStream]').css("text-align", "center"); }); } ProcessVideo(); //$(".content-new h1").css("font-size", "18px"); //$(".content-new h1").css("line-height", "25px"); //$(".content-new h2").css("font-size", "18px"); //$(".content-new h2").css("line-height", "25px"); //$(".content-new h3").css("font-size", "18px"); //$(".content-new h3").css("line-height", "25px"); var ajaxDomain = "http://s.giadinh.net.vn"; var hidTitleSave = $('#ContentPlaceHolder1_Detail1_hidTitle1').val(); //end load comment $(".searchtop").hide(); $(document).ready(function () { var sNewsID = '20170517134048565'; AjaxLoadComment(sNewsID); $(".content-new object").attr("width", 465); $(".content-new object embed").attr("width", 465); }); var videoKey = ""; var objectList; $(document).ready(function () { CheckIpadDetail(); }); //fix content FixContentDetail(); jQuery('#stickyDetailMoiNhatPlay').containedStickyScroll(); //so sanh chieu cao da CheckHeightDetailLR(); $('.content-new a').each(function () { //var text = $(this).text(); //$(this).attr('href', text); var link = $(this).attr('href'); if (link.indexOf(".tag") != -1) { $(this).wrap("
"); } }); /*Vote trong bai*/ $('.VCSortableInPreviewMode[type="vote"] h3').css("cssText", "height: 38px; text-indent: 10px; background: transparent url('http://ift.tt/1PWR9by') repeat-x scroll 0% 0%; margin: 0px; width: 100%; text-align: left;line-height: 38px !important;"); var poll = { vote: function (param) { var values = ""; //duyet de lay gia tri $.each($(".VCListVoteAnswers input:checked"), function () { var getV = $(this).val(); //alert(getV); values = values + getV + ","; }); //alert(values); var VoteID = $(param).attr("voteid"); if (values == "") { alert("Bạn chưa chọn câu trả lời!"); return false; } else { values = values.substring(0, values.length - 1);//bo di dau , cuoi cung var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID + "&VoteItID=" + values, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); } }, view: function (param) { var VoteID = $(param).attr("voteid"); var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); }, }; /*End Vote trong bai*/ /*nut home*/ jQuery(window).scroll(function () { CheckGotoHome(); }); /*end nut home*/ Cuộc sống ngày nay thật bộn bề lo toan và đầy những toan tính. Hãy thư giãn, sống thật nhẹ nhàng, cuộc đời có bao lâu bạn nhé!
0 notes
tinhotgiaitri247 · 8 years ago
Text
(Thông tin về xã hội hàng ngày)Vỉa hè Hà Nội sau chiến dịch "giải cứu" giờ ra sao?
Ngày 17 Tháng 5, 2017 | 10:00 AM
  MỚI NHẤT
GiadinhNet – Sau 2 tháng ra quân dọn dẹp, vỉa hè Thủ đô đã có nhiều thay đổi...
Đến nay là 2 tháng kể từ khi Hà Nội bắt đầu thực hiện chiến dịch dọn dẹp vỉa hè. Theo ghi nhận của chúng tôi trong ngày 16/5, vỉa hè ở nhiều tuyến đường, phố của Thủ đô đã có diện mạo mới, đa phần là thông thoáng, gọn gàng hơn trước đây.
Tại khu vực phố cổ (Hoàn Kiếm) còn tồn tại một số điểm lộn xộn, chủ yếu là do phương tiện giao thông lấn chiếm. Tại nhiều nơi, người đi bộ vẫn phải đi xuống lòng đường.
Ở các khu vực khác, theo quan sát của chúng tôi thì các con phố, tuyến đường lớn cũng đã được thông thoáng nhưng tình trạng cố tình lấn chiếm vỉa hè vẫn còn. Đặc biệt, tại các con phố nhỏ có mật độ dân cư cao và gắn liền với nhiều hoạt động kinh doanh thì tình trạng lấn chiếm vỉa hè vẫn thường diễn ra.
Một số hình ảnh do PV Báo Gia đình & Xã hội ghi nhận:
Cảnh thông thoáng hiếm có bấy lâu nay tại phố Hàng Cót.
Ở nhiều khu vực phố cổ, người đi bộ có thể thoải mái đi trên vỉa hè.
Phố Hàng Gai.
Tuy nhiên, ở nhiều điểm, các phương tiện giao thông của người dân vẫn tự ý chiếm hết khu vực vỉa hè. Từ nơi có vỉa hè rộng...
Đến những nơi vỉa hè hẹp.
Ở nhiều tuyến phố lớn, nhỏ khác trên địa bàn Thủ đô, tình trạng lấn chiếm vỉa hè cũng được giảm đáng kể.
Nhưng không ít nơi vẫn chưa có thay đổi nhiều. Hình ảnh tại đường Láng (Đống Đa), nhiều cửa hàng kinh doanh vẫn lấn chiếm vỉa hè khiến người đi bộ luôn phải xuống lòng đường.
Ở các con phố nhỏ, mật độ dân đông đúc và gắn liền với nhiều hoạt động kinh doanh, buôn bán nên việc giảm thiểu lấn chiếm vỉa hè dường như rất khó khăn.
Một khu vực từng là chợ "cóc" lâu năm trên phố Trần Cung (Bắc Từ Liêm), sau nhiều lần lực lượng chức năng thực thi nhiệm vụ nhưng dường như không hiệu quả nên mới đây đã phải đặt hẳn rào chắn.
Nông Thuyết
Ảnh: Nông Thuyết
Báo Gia đình và Xã hội cập nhật tin tức trong ngày liên tục, mới nhất
Tin liên quan
0
Tin cùng mục
var count = 1; $('.content-new #videoid_' + videoId).each(function () { if (count == 2) { $(this).remove(); } count++; }); $('.content-new').find('.VCSortableInPreviewMode[type=VideoStream]').css("text-align", "center"); }); } ProcessVideo(); //$(".content-new h1").css("font-size", "18px"); //$(".content-new h1").css("line-height", "25px"); //$(".content-new h2").css("font-size", "18px"); //$(".content-new h2").css("line-height", "25px"); //$(".content-new h3").css("font-size", "18px"); //$(".content-new h3").css("line-height", "25px"); var ajaxDomain = "http://s.giadinh.net.vn"; var hidTitleSave = $('#ContentPlaceHolder1_Detail1_hidTitle1').val(); //end load comment $(".searchtop").hide(); $(document).ready(function () { var sNewsID = '20170516211603555'; AjaxLoadComment(sNewsID); $(".content-new object").attr("width", 465); $(".content-new object embed").attr("width", 465); }); var videoKey = ""; var objectList; $(document).ready(function () { CheckIpadDetail(); }); //fix content FixContentDetail(); jQuery('#stickyDetailMoiNhatPlay').containedStickyScroll(); //so sanh chieu cao da CheckHeightDetailLR(); $('.content-new a').each(function () { //var text = $(this).text(); //$(this).attr('href', text); var link = $(this).attr('href'); if (link.indexOf(".tag") != -1) { $(this).wrap("
"); } }); /*Vote trong bai*/ $('.VCSortableInPreviewMode[type="vote"] h3').css("cssText", "height: 38px; text-indent: 10px; background: transparent url('http://ift.tt/1PWR9by') repeat-x scroll 0% 0%; margin: 0px; width: 100%; text-align: left;line-height: 38px !important;"); var poll = { vote: function (param) { var values = ""; //duyet de lay gia tri $.each($(".VCListVoteAnswers input:checked"), function () { var getV = $(this).val(); //alert(getV); values = values + getV + ","; }); //alert(values); var VoteID = $(param).attr("voteid"); if (values == "") { alert("Bạn chưa chọn câu trả lời!"); return false; } else { values = values.substring(0, values.length - 1);//bo di dau , cuoi cung var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID + "&VoteItID=" + values, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); } }, view: function (param) { var VoteID = $(param).attr("voteid"); var _Width; var _WidthPopup; _WidthPopup = 550 / 2; _Width = screen.availWidth / 2 - _WidthPopup; mywindow = window.open("http://ift.tt/1OOWsuL" + VoteID, '_blank', 'height=250,width=550,location=0,status=0,scrollbars=0, resizable=0'); mywindow.moveTo(_Width, _Width / 2); }, }; /*End Vote trong bai*/ /*nut home*/ jQuery(window).scroll(function () { CheckGotoHome(); }); /*end nut home*/ Cuộc sống ngày nay thật bộn bề lo toan và đầy những toan tính. Hãy thư giãn, sống thật nhẹ nhàng, cuộc đời có bao lâu bạn nhé!
0 notes